Nginx反向代理到容器中

时间:2020-03-31 09:55:59

标签: docker nginx docker-compose nginx-reverse-proxy

现在我正在研究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/ 时,无法将其重定向到我的应用程序容器中。然后我尝试检查容器和docker网络的IP

网络中每个容器的IP

172.28.0.3  -> app
172.28.0.2  -> nginx

nginx日志

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

所以现在我很困惑。网络或容器出了什么问题?甚至我的脚本有错误吗?

0 个答案:

没有答案