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

HAProxy配置resolvers代理Nginx服务返回503错误问题排查

问题原因与修复方案

核心配置错误点

  • 错误配置了resolvers的nameserver参数:HAProxy的resolvers配置块是用来指定DNS解析服务器的,你当前将nameserver指向了业务域名something.mydomain.com的80端口,80是Nginx提供业务服务的端口,并非DNS服务端口(DNS默认端口为53),HAProxy无法从该地址完成域名解析,因此无法找到可用的后端服务,返回<NOSRV> 503错误。
  • 可选遗漏配置:如果后端Nginx配置了基于域名的虚拟主机,需要在backend中明确指定转发的Host请求头,否则HAProxy默认会将server字段解析出的IP作为Host头转发,会导致Nginx无法匹配到正确的站点。

修复方案

方案1:不需要动态域名解析的场景

直接在backend的server配置中写死IP即可,无需配置resolvers,配置示例:

acl host_something hdr(host) -i something.mydomain.com
use_backend some_backend if host_something

backend some_backend
    server server1 <IP-ADDRESS>:80 check
    # 若Nginx有虚拟主机配置,加上下面这行
    http-request set-header Host something.mydomain.com

方案2:需要动态域名解析的场景

将resolvers的nameserver替换为实际可用的DNS服务器地址,比如公网DNS或者内网自建DNS:

acl host_something hdr(host) -i something.mydomain.com
use_backend some_backend if host_something

resolvers some_resolver
    # 示例用公网114DNS,可替换为你实际使用的DNS服务器,默认端口53
    nameserver public_dns 114.114.114.114:53
    # 可按需配置解析有效期等参数
    hold valid 300s

backend some_backend
    server server1 something.mydomain.com:80 check resolvers some_resolver
    http-request set-header Host something.mydomain.com

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:06:03