nginx:无法设置基本代理(连接拒绝)

我试图设置服务器,我的networking应用程序将被托pipe。 对于每个应用程序,入口点是一个nginx服务器,打包在docker容器中,其端口80被转发到主机上的某个地方。 服务器的端口80由nginx代理服务器监听,它select与Host请求头对应的应用程序。

这里是我简单,完全静态的应用程序的nginxconfiguration:

 server { listen 80; location / { root /usr/share/nginx/html; index index.html; } } 

应用程序的端口80绑定到主机的端口8000。

这里是代理的configuration:

 server { listen 80; location / { root /usr/share/nginx/html; index index.html; } } server { listen 80; # not real DNS, just an example server_name static.myserver.net; location / { proxy_pass http://127.0.0.1:8000; } } 

DNSloggingmyserver.netstatic.myserver.net绑定到服务器的IP。

但是当我尝试连接到static.myserver.net ,我得到错误502和代理日志条目是这样的:

 2016/06/04 13:26:58 [error] 5#5: *2 connect() failed (111: Connection refused) while connecting to upstream, client: 100.100.100.100, server: static.myserver.net, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8000/", host: "static.myserver.net" 

应用程序的nginx日志是空的。

但是,从web的myserver.net:8000和从主机的127.0.0.1:8000都是完全可访问的。 那又怎么了?

发现了问题。 Config似乎是正确的,但代理服务器也被设置为Docker容器。 因此,地址127.0.0.1指向Docker容器,而不是主机。 proxy_pass http://real_host_ip:8000; 工作正确。