【问题标题】:Using GitLab behind nginx enabled basic_auth?在 nginx 后面使用 GitLab 启用了 basic_auth?
【发布时间】:2013-04-08 00:39:51
【问题描述】:

我已经成功安装了 GitLab 来管理私有存储库(这太棒了!)。

我遇到的问题是默认情况下,当有人访问我的子域时,会显示 Gitlab 登录。我想在用户获得 GitLab 登录屏幕之前用 basic_auth 层保护整个区域。不幸的是,这破坏了我在启用 GitLab 时推/拉的能力。

我的 nginx 配置启用 basic_auth:

  auth_basic            "Restricted";
  auth_basic_user_file  htpasswd;

关于如何在不破坏 git / gitlab 功能的情况下启用 basic_auth 的任何想法?

【问题讨论】:

  • 对于其他搜索者:如果您仅通过 SSH 访问您的存储库并希望使用 HTTP Basic Auth 保护 GitLab,那么 Nicolas BADIA 的答案就是您正在寻找的。​​span>

标签: nginx basic-authentication gitlab


【解决方案1】:

将此添加到/etc/gitlab/gitlab.rb

nginx['custom_gitlab_server_config'] = "auth_basic 'Restricted';\n  auth_basic_user_file htpasswd;\n"

然后运行gitlab-ctl reconfigure

【讨论】:

【解决方案2】:

目前有点破解,但试一试。

编辑您的 nginx 站点配置以添加/修改以下位置

location ^~ /api/v3/internal/allowed {
    proxy_read_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
    proxy_connect_timeout 300; # https://github.com/gitlabhq/gitlabhq/issues/694
    proxy_redirect     off;

    proxy_set_header   X-Forwarded-Proto $scheme;
    proxy_set_header   Host              $http_host;
    proxy_set_header   X-Real-IP         $remote_addr;

    proxy_pass http://gitlab;}

location / {
    auth_basic "Gitlab Restricted Access";
    auth_basic_user_file  /home/git/gitlab/htpasswd.users;
    # serve static files from defined root folder;.
    # @gitlab is a named location for the upstream fallback, see below
    try_files $uri $uri/index.html $uri.html @gitlab;
}

保持您的@gitlab 位置块不变。

诀窍是让 /api/v3/internal/allowd 绕过身份验证。如果您在执行 git pull / push 时查看日志,则会向服务器发出请求是否允许。在带有 htpasswd 的标准 nginx 配置中,该请求将被阻止,因为服务器不知道所需的身份验证。

无论如何不确定是否有更好的选择(找不到),但这似乎对我有用。

【讨论】:

    【解决方案3】:

    您的问题是您想为公共访问 GitLab 设置密码限制,但让 Gitlab-Shell 不受限制地访问本地 GitLab 实例。

    根据 IP 接口,您可以有 2 个 nginx 配置。将行 listen 0.0.0.0:80 default_server 更改为 listen 127.0.0.1:80 default_server

    https://github.com/gitlabhq/gitlabhq/blob/v7.7.2/lib/support/nginx/gitlab#L37-38

    【讨论】:

      猜你喜欢
      • 2021-04-04
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      • 2023-03-14
      • 2021-11-18
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      相关资源
      最近更新 更多