前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >docker 搭建nginx提示 host not found in upstream

docker 搭建nginx提示 host not found in upstream

原创
作者头像
用户3293499
修改2025-04-03 15:25:38
修改2025-04-03 15:25:38
2140
举报
文章被收录于专栏:K8s & DockerK8s & Docker运维

docker 搭建nginx提示 host not found in upstream,

代码语言:txt
复制
nginx: [emerg] host not found in upstream "xxx" in /etc/nginx/nginx.conf:xx

docker里面里面有很多项目,都是通过bridge网络进行配置,由于启动顺序或者更新问题,会导致部分host不存在,然后提示该错误,然后无法启动。原因是nginx 启动时,会对其配置的 upstream 进行 DNS 解析测试,如果无法解析成功则会报错无法启动。但是,当我们将 upstream 修改为变量时,nginx 不会进行测试,以此绕过这个问题。

resolver 则为 Nginx 设置 DNS 服务器,Nginx会动态利用 resolver 设置的DNS服务器(本机设置的 DNS 服务器或 /etc/hosts 无效),将域名解析成 IP,proxy 模块会将请求转发到解析后的IP上。

此时可以讲host设置位变量

代码语言:conf
复制
location /test {

    resolver 127.0.0.11 10s; # docker 内部dns解析
    set $ht docker-host;
    proxy_pass http://$ht;
}

参考 https://ronin-zc.com/posts/docker%E9%83%A8%E7%BD%B2nginx%E5%87%BA%E7%8E%B0host-not-found-in-upstream%E9%97%AE%E9%A2%98%E8%A7%A3%E5%86%B3/

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档