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

Haproxy配置域名重定向不生效,无需客户端跟随跳转如何实现

问题原因

你当前配置使用的redirect code 301逻辑是给客户端返回301重定向响应,要求客户端主动向新地址发起请求。带-L参数的curl会自动执行重定向跳转所以访问正常,但你的API服务没有配置自动跟随重定向,因此无法正常访问。

调整方案

你需要将重定向逻辑替换为反向代理转发,由HAProxy直接将请求透传到https://sede.example.pub对应的服务,客户端全程无感知,不需要主动跳转。

具体修改步骤

  1. 新增指向sede.example.pub的后端服务配置
  2. 删除原有redirect跳转规则,替换为匹配域名后使用对应后端的规则
  3. 配置请求头修改,避免后端服务因Host不匹配返回错误

修改后的配置片段

新增backend配置

在你现有配置的frontend http-in段之后新增如下backend配置:

backend sede_pub_backend
    mode http
    # 若sede.example.pub的SSL证书为可信机构颁发,可将verify none改为verify required提高安全性
    server sede_pub sede.example.pub:443 ssl verify none
    # 修改请求头Host为目标域名,保证后端服务能正常识别请求
    http-request set-header Host sede.example.pub

调整frontend http-in配置

将frontend http-in段最后两行的原有跳转规则:

acl sede_acl req.hdr(host) -i -m str sede.example.com.br
redirect code 301 prefix https://sede.example.pub if sede_acl

替换为:

acl sede_acl req.hdr(host) -i -m str sede.example.com.br
use_backend sede_pub_backend if sede_acl
注意事项
  • 该配置会透传所有请求信息,包括GET参数、POST请求体、请求头等,完全兼容API的GET/POST请求场景
  • 如果需要同时支持旧域名的浏览器跳转和API透传,可额外添加ACL判断客户端类型,针对不同客户端返回不同处理逻辑
  • 生产环境建议开启后端SSL证书校验,避免中间人攻击风险

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 02:27:01