Gitlab在替代端口上使用NAT?

时间:2016-05-04 07:56:32

标签: sockets ubuntu nginx gitlab nat

这是Ubuntu 16.04上的全新安装。

我已经能够更改端口并编辑“/etc/gitlab/gitlab.rb”文件。

变化;

external_url 'http://superawesomedomain.com:2345'
nginx['listen_port'] = 2345
nginx['proxy_set_headers'] = {
 "Host" => "$http_host",
 "X-Real-IP" => "$remote_addr",
 "X-Forwarded-For" => "$proxy_add_x_forwarded_for",
 "X-Forwarded-Proto" => "https",
 "X-Forwarded-Ssl" => "on"
}

当我尝试从浏览器访问Gitlab时,我收到 502 错误“哎呀,GitLab花了太多时间来回复。”

这在日志中:

  

==&GT; /var/log/gitlab/nginx/gitlab_error.log< == 2016/05/04 00:43:53 [错误] 1599#0:* 14 connect()到   unix:/ var / opt / gitlab / gitlab-workhorse / socket失败(111:连接   连接到上游时,客户端:xxx.xxx.xxx.xxx,服务器:   superawesomedomain.com,请求:“GET /favicon.ico HTTP / 1.1”,上游:   “http://unix:/var/opt/gitlab/gitlab-workhorse/socket:/favicon.ico”,   主持人:“superawesomedomain.com:2345”,推荐人:   “http://superawesomedomain.com:2345/

NAT后面配置的唯一端口可以在这台机器上工作; 2345和8080。

我错过了什么?最后我希望它是http s ://superawesomedomain.com:2345 /

1 个答案:

答案 0 :(得分:1)

我能够通过使用服务器的IP而不是配置中的URL来实现这一点:

external_url 'http://192.168.0.20:2345'

这样做之后,可以从//superawesomedomain.com:2345/地址访问GitLab。我不确定为什么会这样,但似乎这是让它与NAT和转发端口一起工作的唯一方法。