curl:(7)无法连接到本地主机端口8090:连接被拒绝
问题描述:
需要帮助。一直在尝试解决这个问题,并且看不到答案,或者我没有遇到任何问题。curl:(7)无法连接到本地主机端口8090:连接被拒绝
我有一个码头容器与NGINX,充当反向代理。 Docker for Windows版本1.12.5(9503)。
upstream mysite {
server 127.0.0.1:8090;
#server localhost:8090; (have also tried this option)
}
server {
listen 0.0.0.0:80;
server_name localhost;
location/{
proxy_pass http://mysite;
}
}
在上面的代码localhost:8090是在我的主机上的IIS上承载的网站的url。当我访问NGINX的网址,我得到以下错误
2016/12/27 08:11:57 [error] 6#6: *4 no live upstreams while connecting to upstream, client: 172.17.0.1, server: localhost, request: "GET/HTTP/1.1", upstream: "http://googlesite/", host: "localhost"
172.17.0.1 - - [27/Dec/2016:08:11:57 +0000] "GET/HTTP/1.1" 502 173 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:50.0) Gecko/20100101 Firefox/50.0" "-"
试图访问主机
(simple HTML site, single page with only simple html, hosted on IIS with anonymous access granted to all.)
curl localhost:8090
收到以下错误的网址:
curl: (7) Failed to connect to localhost port 8090: Connection refused
我是Docker和NGINX的新手。想知道是否有可能访问主机上的URL?如果是,那么我错在哪里。
如果我使用google.co.in而不是127.0.0.1:8090,则配置相同。
谢谢。
答
在码头集装箱内部,localhost
和127.0.0.1
指的是集装箱本身。为了使用你的容器访问运行docker的主机,你必须通过它的公共主机名/ IP来访问主机,就好像它是网络上的另一台机器一样。
谢谢。有效。而不是使用本地主机,我使用主机名,它的工作很棒。修改后的配置细节如下: 'upstream mysite {server hostname:8090; }' 'server { listen 0.0.0.0:80; server_name localhost; 位置/ { proxy_pass http:// mysite; } }' –