2017-08-14 18 views
5

Tôi đang sử dụng proxy nginx để kết nối các tên miền phụ với các dịch vụ docker khác nhau. Kể từ khi một trong những hình ảnh cập nhật cuối cùng tôi không thể kết nối với dụ gitlab của tôi nữa. Tôi không biết liệu bản cập nhật nginx-proxy hoặc gitlab có dẫn đến sự cố này hay không. Khi tôi cố gắng kết nối với gitlab.mydomain.com tôi nhận được các lỗi sau:Môi trường trình kết nối thông qua kết quả proxy nginx tại 502 Cổng vào Bad

  1. Trình duyệt: 502 Bad Gateway. nginx/1.13.3
  2. nhật ký nginx-proxy:

    nginx-proxy_1 | nginx.1 | 2017/08/14 11:44:10 [lỗi] 39 # 39: * 1672 kết nối() không thành công (111: Kết nối bị từ chối) trong khi kết nối với thượng nguồn, máy khách: 178.201.120.94, máy chủ: gitlab.mydomain.com, yêu cầu: "GET/HTTP/2.0", ngược dòng: "https://172.18.0.2:443/", máy chủ: "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, như Gecko) Chrome/60.0.3112.90 Safari/537.36 "

    nginx-proxy_1 | nginx.1 | 2017/08/14 11:44:11 [lỗi] 39 # 39: * 1672 kết nối() không thành công (111: Kết nối bị từ chối) trong khi kết nối với thượng nguồn, máy khách: 178.201.120.94, máy chủ: gitlab.mydomain.com, yêu cầu: "GET /favicon.ico HTTP/2.0", thượng nguồn: "https://172.18.0.2:443/favicon.ico", người dẫn chương: "gitlab.mydomain.com", giới thiệu: ". https://gitlab *** com /"

Docker-soạn My file:

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" 

Mọi ý tưởng về điều đó? Cảm ơn.
Edit: Networksettings từ Docker kiểm tra 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" 
      } 
     } 
    } 
+0

Docker ps và docker kiểm tra hộp chứa gitlab của bạn nd xem nếu IP nó được lấy là đúng hay không? –

+0

một docker kiểm tra trên gitlab đã cho tôi những giá trị sau: "Gateway": "172.18.0.1", "IPAddress": "172.18.0.2", ... trông giống như một lỗi với tôi? – caiuspb

+0

Kiểm tra số lượng mạng được liên kết với gitlab trong trường hợp của bạn? –

Trả lời

0

thiết lập này làm việc cho tôi, có lẽ bạn có thể so sánh nó và tìm hiểu, có gì sai:

https://superuser.com/a/1242682/762931

có thể nó là này: https://gitlab.com/gitlab-org/omnibus-gitlab/issues/1307

+0

cảm ơn bạn, tôi sẽ dùng thử. Nếu nó hoạt động, tôi sẽ đăng các sửa đổi cần thiết và chấp nhận câu trả lời của bạn! – caiuspb

+0

Có bất kỳ tệp nào trong/etc/gitlab/trust-certs trên máy gitlab docker của bạn không? Tôi cảm thấy có một số vấn đề liên quan đến chứng chỉ SSL. – caiuspb

+0

Không có, chúng đang được đưa vào khối lượng và sau đó trực tiếp vào thư mục/etc/gitlab/ssl trong vùng chứa – metanerd

Các vấn đề liên quan