我在nginx上遇到了一个小问题。首先,我只是将nginx和portainer作为容器运行。 Portainer在端口9000上运行,并且容器位于同一docker网络上,因此这不是可见性问题。 Nginx暴露端口80并正常工作。直接访问9000时,portainer也是如此。我正在本地映射nginx卷/etc/nginx/nginx.conf:ro和/ usr / share / nginx / html:ro,它们会对更改使用react,因此我应该正确连接。在我映射的nginx.conf(http部分)中,
server {
location /portainer {
proxy_pass http://portainer:9000;
}
}
portainer被命名为portainer的地方我也尝试过使用上游指令+服务器,但这也不起作用。
访问localhost / portainer日志时,nginx显示
2018/04/30 09:21:32 [错误] 7#7:* 1 open()“/ usr / share / nginx / html / portainer”失败(2:没有此类文件或目录),客户端:172.18.0.1 ,服务器:本地主机,请求:“GET / portainer HTTP / 1.1”,主机:“localhost”
这将表明location指令甚至没有命中(?)。我已经尝试过/在不同的地方,但无济于事。我猜这是我想念的琐碎小事。
提前致谢,
尼克
最佳答案
我必须在这两行中都添加一个斜杠:
server {
location /portainer/ {
proxy_pass http://portainer:9000/;
}
}