如何将请求从Nginx反向代理重定向回本地主机

时间:2018-12-16 16:11:06

标签: docker-compose nginx-reverse-proxy

我是nginx和docker-compose的新手。 我有一个docker-compose,其中包含一个nginx-reverse-proxy和许多Web API,称为webapi01,webapi02 ...

在nginx-reverse-proxy中,我有

  location /app1/{
        proxy_pass http://webapi01:5000/;
    }
    location /app2/{
        proxy_pass http://webapi02:5000/;
    }

他们工作正常。

现在,在启动docker-compose之后,我想通过修改指向我的webApi01的位置来调试我的webapi01,并期望该请求会到达调试实例webapi01,该实例在http://localhost:5000上列出

 location /app1/{
     #proxy_pass http://webapi01:5000/;
     # what should be here so the request will be forward to the localhost(the machine, not the docker-compose ) so I can debug my webapi01
     proxy_pass http://127.0.0.1:5000/;
 }

但是,我无法使其正常运行。日志显示错误:连接到上游.......

时,connect()失败(111:连接被拒绝)

所以问题是如何将请求从nginx-reverse-proxy重定向回主机(本地主机)?

任何帮助或建议将不胜感激。

谢谢

奥斯丁

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。 https://medium.com/@bsamartins/reverse-proxy-nginx-docker-container-to-localhost-7ebc53577192

location /app1/{
     # this line will connect to your running instance in docker-compose
     #proxy_pass http://webapi01:5000/;
     # this line will forward to the localhost(the machine, not the docker-compose ) so I can debug my webapi01
     proxy_pass http://docker.for.win.localhost:5000/;
 }