我在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/;
     }
}

10-08 06:34