我正在尝试在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
,就会收到以下错误消息:
我已验证localhost:3000
存在并处于活动状态。如果导航到localhost
,则会收到Nginx发出的标准欢迎消息。我的配置中缺少什么,或者这是Docker问题?预先谢谢你。
答案 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文件中更改它。