背景:我在docker中安装了nginx,然后在宿主机上跑了个服务,端口为9008,想用二级域名转发到这个9008

常规配置

    server {
    listen 80;
    server_name xxx.jhakcer.cn;
	location / {
	  proxy_pass http://127.0.0.1:9008/;
	}
    }

报错

我觉得上边的配置没有问题吧,但重启nginx后,报错如下,意思是,连接不127.0.0.1的9008端口

connect() failed (111: Connection refused) while connecting to upstream

无了个大语,这有什么问题啊。最后找来找去,想来想去,才发现,这里的这个127.0.0.1是docker容器里的127.0.0.1 自然连接不上9008

解决方案:

  • 把这个127.0.0.1改成宿主机与docker容器的桥接网卡ip,一般为172.17.0.1

    查看方法很简单,看一下你的这个docker容器桥接的ip就行,

ip addr 

文章作者: 小鱼吃猫
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小鱼吃猫博客
linux docker nginx
喜欢就支持一下吧