Nginx Reverse Proxy lehnt die Verbindung zum Docker-Contrainer ab

637
Sempus

Ich habe einen Docker-Container und führe ihn mit diesem Docker-Run-Befehl aus:

docker run -d -p 1122:80 -v $PWD/cartodb_pgdata:/var/lib/postgresql sverhoeven/cartodb 

Der Nginx-Reverse-Proxy ist nicht angedockt und lebt auf der Maschine. Ich gebe keinen -h-Hostnamen an, da meine Nginx-Konfiguration auf 2 verschiedene Hostnamen reagiert.

Dann habe ich in der Nginx-Host-Konfigurationsdatei:

 listen 80; listen [::]:80;  server_name cartodb.willkara.com carto.willkara.com;  location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; add_header Access-Control-Allow-Origin https://willkara.com; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:1122;  }  location ~ /.well-known { allow all; }  client_max_body_size 10G;  listen 443 ssl; # managed by Certbot  ssl_certificate /var/www/sslStuff/STAR_willkara_com.crt; # managed by Certbot ssl_certificate_key /var/www/sslStuff/server.key; # managed by Certbot ssl_prefer_server_ciphers on; ssl_ciphers DEFAULT:!aNULL:!eNULL:!ADH:!RC4:!RC2:!DES:+HIGH:+MEDIUM:!LOW:!SSLv2:!EXP:!MD5:!DSS:!PSK; ssl_protocols TLSv1 TLSv1.1 TLSv1.2;  if ($scheme != "https") { return 301 https://$host$request_uri; } # managed by Certbot  } 

Ich kann auch bestätigen, dass der Container läuft:

root@Will-Main:~# docker container ls CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 79f97644715f sverhoeven/cartodb "/bin/bash" About a minute ago Up About a minute (unhealthy) 0.0.0.0:1122->80/tcp distracted_meninsky 

Da es ungesund ist, habe ich es mit Docker inspect überprüft, und ich sehe, dass dies der Zustand Health> Log ist

 { "Start": "2018-02-17T17:12:28.966717518-05:00", "End": "2018-02-17T17:12:29.051644368-05:00", "ExitCode": 1, "Output": " % Total % Received % Xferd Average Speed Time Time Time Current\n Dload Upload Total Spent Left Speed\n\r 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0curl: (7) Failed to connect to localhost port 80: Connection refused\n" } 

Und das ist der Fehler, den ich bekomme:

2018/02/17 16:52:27 [error] 3327#3327: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 98.115.234.205, server: cartodb.willkara.com, request: "GET /favicon.ico HTTP/1.1", upstream: "http://127.0.0.1:1122/favicon.ico", host: "carto.willkara.com", referrer: "https://carto.willkara.com/" 

Hat es Probleme beim Übersetzen der Proxy-Anforderungen vom Ursprungsserver (Nginx) in den Docker-Container? Wenn Sie die URL versuchen, erhalten Sie einen 502-Fehler. Ich frage mich, ob ich die Ports auf meinem Nginx Reverse-Proxy und / oder den Docker-Run-Befehl irgendwie anpassen muss. Ich bin nicht so vertraut mit dem Docker, also brauche ich Hilfe in diesem Fall ...

0

0 Antworten auf die Frage