我正在尝试使用nginx作为反向代理来访问其他docker容器,但在除了基础路径'/'之外的位置,我一直收到"Bad Gateway"错误。
我有以下服务器配置块:
server {
listen 80;
location / {
proxy_pass "http://game2048:8080";
}
location /game {
proxy_pass "http://game:9999";
}
}
它适用于http://localhost
,但不适用于http://localhost/game
,在浏览器中会出现“Bad Gateway”,在nginx容器上会出现以下信息:
[error] 7#7: *6 connect() failed (111: Connection refused)
while connecting to upstream, client: 172.17.0.1, server: ,
request: "GET /game HTTP/1.1", upstream: "http://172.17.0.4:9999/game",
host: "localhost"
我使用官方的nginx docker镜像,并在其上放置了自己的配置。您可以在此处对其进行测试并查看所有详细信息: https://github.com/jollege/ngprox1
有什么想法是出了什么问题吗?
NB:我已经在docker主机上设置了本地主机名条目以匹配这些名称:
127.0.1.1 game2048
127.0.1.1 game