我正在使用nginx-proxy將子域連接到不同的docker服務。由於最後一次圖像更新之一,我無法再連接到我的gitlab實例。我不知道是否nginx-proxy或gitlab更新導致了這個問題。當我嘗試連接到gitlab.mydomain.com時,出現以下錯誤:通過nginx代理的Docker環境導致502 Bad Gateway
- 瀏覽器:502錯誤的網關。 nginx/1.13.3
nginx-proxy日誌:
nginx-proxy_1 | nginx.1 | 2017/08/14 11:44:10 [error] 39#39:* 1672連接()失敗(111:連接被拒絕),當連接到上游時,客戶端:178.201.120.94,服務器:gitlab.mydomain.com,請求: 「GET/HTTP/2.0」,上游:「https://172.18.0.2:443/」,主機:「gitlab.mydomain.com」
nginx-proxy_1 | nginx.1 | 「GET/HTTP/2.0」502 575「 - 」「Mozilla/5.0(Windows NT 10.0; Win64; x64)gitlab.mydomain.com 178.201.120.94 - - [14/Aug/2017:11:44:10 +0000] AppleWebKit/537.36(KHTML,如Gecko)Chrome/60.0.3112.90 Safari/537.36「
nginx-proxy_1 | nginx.1 | 2017/08/14 11:44:11 [error] 39#39:* 1672 connect()失敗(111:Connection refused)連接上游時,客戶端:178.201.120.94,服務器:gitlab.mydomain.com,請求: 「GET /favicon.ico HTTP/2.0」,上游: 「https://172.18.0.2:443/favicon.ico」,主機: 「gitlab.mydomain.com」,引薦: 「https://gitlab *** COM /」
我搬運工-撰寫文件:
version: '2'
services:
nginx-proxy:
image: jwilder/nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- /var/local/nginx/certs:/etc/nginx/certs
- /etc/letsencrypt:/etc/letsencrypt
- /var/run/docker.sock:/tmp/docker.sock:ro
gitlab:
image: gitlab/gitlab-ce:latest
ports:
- "2222:22"
hostname: 'gitlab.***.com'
expose:
- 443
- 22
- 80
- 25
environment:
- "VIRTUAL_HOST=gitlab.***.com,www.gitlab.***.com"
- "VIRTUAL_PORT=443"
- "VIRTUAL_PROTO=https"
volumes:
- "gitlab-config:/etc/gitlab"
- "gitlab-log:/var/log/gitlab"
- "gitlab-data:/var/opt/gitlab"
- "/etc/letsencrypt:/etc/letsencrypt"
任何想法呢?謝謝。
編輯:從碼頭工人 NetworkSettings已檢查gitlab:
"NetworkSettings": {
"Bridge": "",
"SandboxID": "...",
"HairpinMode": false,
"LinkLocalIPv6Address": "",
"LinkLocalIPv6PrefixLen": 0,
"Ports": {
"22/tcp": [
{
"HostIp": "0.0.0.0",
"HostPort": "2222"
}
],
"25/tcp": null,
"443/tcp": null,
"80/tcp": null
},
"SandboxKey": "/var/run/docker/netns/...",
"SecondaryIPAddresses": null,
"SecondaryIPv6Addresses": null,
"EndpointID": "",
"Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"IPAddress": "",
"IPPrefixLen": 0,
"IPv6Gateway": "",
"MacAddress": "",
"Networks": {
"docker_default": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"abb170528bcc",
"gitlab"
],
"NetworkID": "...",
"EndpointID": "...",
"Gateway": "172.18.0.1",
"IPAddress": "172.18.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "02:42:ac:12:00:02"
}
}
}
docker ps和docker檢查你的gitlab容器a nd查看它提取的IP是否正確? –
在gitlab上的docker檢查給了我以下值:「網關」:「172.18.0.1」, 「IPAddress」:「172.18.0.2」,...對我來說看起來像一個錯誤? – caiuspb
檢查您的案例中有多少網絡與gitlab關聯? –