无法配置Nginx反向代理

时间:2019-05-08 16:59:14

标签: docker nginx

我正在尝试在Docker容器内使用Nginx配置反向代理。代理应指向localhost:3000上的Web服务器,该服务器也在Docker容器中运行。 Nginx服务器在端口80上显示为localhost

server {

    listen       80;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location /test {
        proxy_pass http://localhost:3000/;
    }

}

但是,一旦我导航到localhost/test,就会收到以下错误消息:

enter image description here

我已验证localhost:3000存在并处于活动状态。如果导航到localhost,则会收到Nginx发出的标准欢迎消息。我的配置中缺少什么,或者这是Docker问题?预先谢谢你。

1 个答案:

答案 0 :(得分:0)

首先,您应该确保您的容器都在同一网络上:

docker network create test

docker run --network test.... --name container1 image1
docker run --network test.... nginx

然后更改配置行:

proxy_pass http://localhost:3000/

proxy_pass http://container1:3000/

如果您在“ docker run”中更改容器的名称,则也需要在conf文件中更改它。