You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx执行nginx -t提示host not found in upstream错误如何解决?

报错原因

Nginx 执行配置校验时会尝试解析 proxy_pass 指令中填写的域名,即使你在同一份 Nginx 配置中定义了 source.blog.demo.com 对应的 Server 块,Nginx 也不会直接读取内部的 server_name 做域名解析,而是会调用系统的 DNS 解析规则查询域名对应的 IP,你的系统没有配置该域名的解析记录,因此校验失败。

解决方法

  • 方案一:修改系统 hosts 配置(最简便)
    编辑 /etc/hosts 文件,添加如下解析记录,把配置中用到的两个自定义域名都指向本地回环地址:
127.0.0.1 source.blog.demo.com static.blog.demo.com

保存后重新执行 nginx -t 即可通过校验。

  • 方案二:直接替换 proxy_pass 目标为本地IP,手动指定Host头
    把所有配置里 proxy_pass http://source.blog.demo.com; 的部分,替换为如下内容,不需要依赖域名解析即可匹配到对应的Server块:
proxy_pass http://127.0.0.1;
proxy_set_header Host source.blog.demo.com;

所有用到自定义域名作为代理目标的位置都做对应修改即可。

内容的提问来源于stack exchange,提问作者user7693832

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 08:18:03