【问题标题】:Restrict Gitlab access by IP along with Nginx通过 IP 和 Nginx 限制 Gitlab 访问
【发布时间】:2015-11-30 22:31:52
【问题描述】:

我有一个在 Nginx 上运行并运行的公共 Gitlab 安装,我想限制它对 IP 地址白名单的访问。

我尝试在 nginx 中添加一个基本限制,如下所示:

location @gitlab {
    allow 127.0.0.1;
    allow XXX.XXX.XXX.XXX;
    deny all;
    ...
}

这有点像只有允许的 IP 才能通过 gitlab 的 Web 界面。 但是当涉及到从这些允许的 IP 推送内容时,我收到了这个错误:

Pushing to http://my.server:port/myrepo.git
POST git-receive-pack (451 bytes)
remote: GitLab: API is not accesible        
To http://my.server:port/myrepo.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'http://my.server:port/myrepo.git'

很奇怪。我也尝试使用 ngx_http_geo_module,结果相同。 有人可以知道如何完成这项工作吗?

谢谢

【问题讨论】:

    标签: security nginx gitlab


    【解决方案1】:

    好的,在查看 gitlab_error.log 之后,我发现我也必须将我的服务器的公共 IP 列入白名单:

    [error] 13629#0: *380 access forbidden by rule, client: YYY.YYY.YYY.YYY, server: my.server, request: "POST //api/v3/internal/allowed HTTP/1.1", host: "my.server:port"
    

    所以最后,我的 nginx 配置看起来像这样,现在一切都很好:

    location @gitlab {
    allow 127.0.0.1;
    allow XXX.XXX.XXX.XXX;
    allow YYY.YYY.YYY.YYY;
    deny all;
    ...
    

    }

    就这么简单……

    不知道这是错误还是什么,因为我使用的是旧的 7.6 版本的 gitlab。我很快就会运行更新并检查一下。

    【讨论】:

      猜你喜欢
      • 2022-11-02
      • 2014-04-24
      • 2021-12-16
      • 1970-01-01
      • 2017-05-08
      • 2015-10-21
      • 1970-01-01
      • 2014-04-08
      • 2018-02-18
      相关资源
      最近更新 更多