我对nginx有一个小问题。对于初学者,我只是将nginx和portainer作为容器运行。 Portainer在端口9000上运行,并且容器位于同一个docker网络上,因此它不是一个可见问题。 Nginx暴露端口80并且工作正常。直接访问9000时,portainer也是如此。我在本地映射nginx卷/etc/nginx/nginx.conf:ro和/ usr / share / nginx / html:ro并且它们会对更改作出反应,所以我应该正确连接。在我映射的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打开()" / usr / share / nginx / html / portainer"失败(2:没有这样的文件或目录),客户端:172.18.0.1,服务器:localhost,请求:" GET / portainer HTTP / 1.1",主机:" localhost"
表示该位置指令甚至没有被击中(?)。我曾尝试/在各个地方但无济于事。我猜它是一件微不足道的事情我不知道。
提前致谢, NIK
答案 0 :(得分:1)
我必须在两行中添加一个尾部斜杠:
server {
location /portainer/ {
proxy_pass http://portainer:9000/;
}
}
答案 1 :(得分:0)
请改为尝试:
location ~* ^/portainer/(.*)$ {
proxy_pass http://portainer:9000/$1$is_args$args;
}