Обратный прокси-сервер Nginx отказывается от подключения к Docker Contrainer

594
Sempus

У меня есть Docker-контейнер, и я запускаю его с помощью команды Docker Run:

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

Обратный прокси-сервер nginx не докеризован и находится на компьютере. Я не указываю -h имя хоста, так как у меня есть конфигурация nginx, отвечающая на 2 разных имени хоста.

Затем в конфигурационном файле хоста nginx у меня есть:

 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  } 

Я также могу подтвердить, что контейнер работает:

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 

Так как это вредно для здоровья, я проверил это с помощью Docker Inspection и вижу, что это Health> Log

 { "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" } 

И это ошибка, которую я получаю:

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/" 

Возникают ли проблемы с переводом прокси-запросов с исходного сервера (nginx) в контейнер докеров? Если вы попробуете URL, вы получите ошибку 502. Интересно, придется ли мне каким-то образом настраивать порты моего обратного прокси-сервера nginx и / или команды запуска docker. Не очень знаком с докером, поэтому мне нужна помощь в этом ...

0

0 ответов на вопрос