Nginx обратный прокси в контейнер - PullRequest
0 голосов
/ 31 марта 2020

Теперь я работаю над docker. У которого есть Nginx для резервного прокси в мое приложение (контейнер).

сначала я создаю docker сеть в качестве драйвера моста

docker network create test-network

Затем я запускаю сервер приложений

docker run --name app -p 8080:8080 --network test-network -d application:v1.0.0

Затем я запускаю Nginx сервер

docker run --name nginx-proxy -v ./default.conf:/etc/nginx/conf.d/default.conf -p 80:80 --network test-network -d nginx:latest

У которого есть файл конфигурации default.conf

upstream app {
    server app:8080;
}

server {
    listen       80;
    server_name  localhost;

    location / {
        proxy_pass         http://app;
        proxy_redirect     off;
        proxy_set_header   Host $host;
        proxy_set_header   X-Real-IP $remote_addr;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Host $server_name;
    }
}

Это настройки, я привык к этому с Nginx контейнером. Проблема в том, что когда я направляю http://server_url / Он не может перенаправить в мой контейнер приложения. Затем я пытаюсь проверить IP контейнера и docker сеть

IP каждого контейнера в сети

172.28.0.3  -> app
172.28.0.2  -> nginx

nginx log

6#6: connect() failed (111: Connection refused) while connecting to upstream, client: <client_ip>, server: localhost, request: "GET / HTTP/1.1", upstream: "http://172.28.0.3:8080/", host: "<server_url>"
- - "GET / HTTP/1.1" 502 559 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36" "-"

Так Теперь я в замешательстве. Что не так с сетью или контейнером. Даже мой сценарий неверен?

...