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

同一域名下多站点切换访问出现HTTP 404错误求助

排查方向

HAProxy 会话与缓存配置排查

  • 检查HAProxy是否开启了基于客户端IP的会话绑定(如stick-table、appsession),确认绑定超时时间是否为5分钟——若规则错误将请求固定到了错误后端,访问其他站点自然会找不到对应资源。
  • 查看HAProxy的HTTP缓存配置(cache指令),检查是否误缓存了站点路由信息或404响应,且缓存过期时间刚好匹配5分钟的问题窗口。
  • 逐行对比新旧HAProxy的配置文件,重点核对会话保持、缓存、Host头匹配的acl规则——哪怕是注释、参数顺序的细微变化都可能引发问题。

客户端缓存与Cookie验证

  • 抓取正常模式和隐私模式的请求包,对比Cookie差异:查找HAProxy或后端服务器下发的会话Cookie(如SERVERID类标识),确认是否绑定了特定后端服务器,且过期时间为5分钟。
  • 清除客户端Cookie后直接访问第二个站点,验证是否能正常访问,以此确认Cookie是否是请求被固定到错误服务器的原因。
  • 检查浏览器缓存策略,确认是否缓存了第一个站点的DNS记录、Cache-Control等响应头,导致后续请求未正确发送Host头或被路由到错误后端。

后端IIS路由与日志排查

  • 检查每个IIS站点的Host头绑定,确保仅绑定对应域名,未设置通配符绑定导致路由混乱;同时确认Host Name绑定生效,避免站点间路由冲突。
  • 在后端服务器开启请求日志,记录每个请求的Host头、客户端IP、请求路径,查看访问第二个站点时,请求是否被错误路由到第一个站点的应用池,进而返回404。
  • 检查后端服务器是否存在全局URL重写规则,是否错误地根据客户端IP或会话信息修改了请求路径或Host头。

网络层连接复用排查

  • 检查HAProxy与后端服务器之间的TCP连接复用配置,确认是否存在长连接复用导致请求被发送到错误后端的情况(比如TCP连接保持时间为5分钟,后续请求复用了之前绑定到第一个站点的连接)。
  • 尝试禁用HAProxy的TCP连接复用(设置option nolinger或调整server指令的maxconn、timeout connect参数),观察问题是否消失。

新旧服务器配置差异深挖

  • 对比新旧服务器的HAProxy版本,不同版本的会话保持逻辑可能存在差异;同时检查操作系统TCP参数(如tcp_tw_reuse等连接复用相关参数)的设置差异。
  • 检查自动化配置工具(如Ansible、SaltStack)是否存在配置遗漏,确认新服务器是否同步了旧服务器的所有HAProxy全局参数或后端服务器权重设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 01:42:26