Окружение Docker через прокси nginx приводит к 502 Bad Gateway
Я использую прокси nginx для подключения поддоменов к различным сервисам докеров. Так как одно из последних обновлений изображения больше не удается подключиться к моему экземпляру gitlab. Я не знаю, привело ли обновление nginx-proxy или gitlab к этой проблеме. Когда я пытаюсь подключиться к gitlab.mydomain.com, я получаю следующие ошибки:
- Браузер: 502 Bad Gateway. Nginx / 1.13.3
Журналы nginx-прокси:
nginx-proxy_1 | nginx.1 | 2017/08/14 11:44:10 [ошибка] 39#39: * Ошибка 1672 connect() (111: соединение отклонено) при подключении к восходящему каналу, клиент: 178.201.120.94, сервер: gitlab.mydomain.com, запрос: "GET / HTTP / 2.0", upstream: " https://172.18.0.2/", хост: "gitlab.mydomain.com"
nginx-proxy_1 | nginx.1 | gitlab.mydomain.com 178.201.120.94 - - [14 / Aug / 2017: 11: 44: 10 +0000] "GET / HTTP / 2.0" 502 575 "-" "Mozilla / 5.0 (Windows NT 10.0; Win64; x64) AppleWebKit / 537,36 (KHTML, как Gecko) Chrome / 60.0.3112.90 Safari / 537.36 "
nginx-proxy_1 | nginx.1 | 2017/08/14 11:44:11 [ошибка] 39#39: * Ошибка 1672 connect() (111: соединение отклонено) при подключении к восходящему каналу, клиент: 178.201.120.94, сервер: gitlab.mydomain.com, запрос: "GET /favicon.ico HTTP / 2.0", upstream: " https://172.18.0.2:443/favicon.ico", хост: "gitlab.mydomain.com", реферер: " https://gitlab/.***.com/"
Мой файл docker-compose:
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"
Есть идеи по этому поводу? Благодарю.
Изменить: Сетевые настройки из докера проверить 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"
}
}
}
1 ответ
Эта настройка работает для меня, может быть, вы можете сравнить ее и выяснить, что не так:
https://superuser.com/a/1242682/762931
может быть, это так: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1307