如何解决Cloudflare DNS上的HTTP负载均衡Error 1003错误?
解决Cloudflare Error 1003(Direct IP access not allowed)问题
核心原因
你的Nginx反向代理未正确传递Host请求头给后端的domain1.com/domain2.com。默认情况下,Nginx会将Host设为上游组名称backend而非实际目标域名,Cloudflare无法识别这个无效Host值,因此判定为直接IP访问,返回1003错误。
修复步骤
修改Nginx配置,添加Host头传递规则,确保后端能收到正确的域名:
upstream backend { server domain1.com; server domain2.com; } server { listen 80; location / { proxy_pass http://backend; # 传递客户端请求的Host头给后端 proxy_set_header Host $http_host; # 可选:传递客户端真实IP给后端服务 proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
如果需要固定传递后端域名(而非客户端请求的Host),可将$http_host替换为具体域名,例如proxy_set_header Host domain1.com;(适合单后端场景)。
额外检查
- 确认Cloudflare DNS记录中你的主域名已开启橙色云朵(Proxy状态),且源服务器IP指向你的Nginx服务器。
- 检查
domain1.com/domain2.com的Cloudflare配置,确保未设置拦截你的Nginx服务器IP的规则。 - Cloudflare SSL/TLS的Flexible模式无需调整,该模式下Cloudflare与你的Nginx通过HTTP通信符合要求。
内容的提问来源于stack exchange,提问作者Red Science
相关产品推荐
相关产品推荐

