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

端口转发后Apache反向代理出现503服务不可用问题排查

反向代理B引发503错误的故障原因分析

环境与故障概述

  • 架构链路:[Internet] -> [反向代理A] -> {IP + 3401端口} -> [反向代理B] -> [本地服务器]
  • 故障现象:访问反向代理A地址时,浏览器返回503 - Service Unavailable
  • 已验证项:本地直接访问192.168.1.37:4401正常;反向代理A的请求转发功能正常,问题定位在反向代理B

反向代理B的配置文件

<VirtualHost *:80>
    ServerName {hidden-ip}:3401
    ServerAlias {hidden-ip}:3401
    ProxyPreserveHost On
    ProxyPass / http://192.168.1.37:4401/
    ProxyPassReverse / http://192.168.1.37:4401/
</VirtualHost>

<VirtualHost *:443>
    ServerName {hidden-ip}:3401
    ServerAlias {hidden-ip}:3401
    ProxyPreserveHost On
    <Proxy *>
    Order deny,allow
    Allow from all
    </Proxy>

    ProxyPass / http://192.168.1.37:4401/
    ProxyPassReverse / https://192.168.1.37:4410/
    
    <Location />
    Order allow,deny
    Allow from all
    </Location>
</VirtualHost>

可能的故障原因

  • HTTPS虚拟主机缺失SSL配置:443端口的虚拟主机未配置SSLCertificateFile、SSLCertificateKeyFile等SSL证书相关指令,导致Apache无法正常启动或监听443端口,无法处理代理A转发的HTTPS请求,返回503。
  • ProxyPassReverse配置不匹配:443虚拟主机中ProxyPass指向http://192.168.1.37:4401/,但ProxyPassReverse指向https://192.168.1.37:4410/,协议、端口均不一致。这会导致代理B无法正确改写后端服务器的响应头,引发请求处理异常。
  • ServerName/ServerAlias格式错误:Apache的ServerName不支持{hidden-ip}:3401这种带端口的格式(端口应在<VirtualHost>标签中指定,如<VirtualHost *:3401>)。错误的格式会导致虚拟主机匹配失败,代理B无法找到对应主机处理请求,返回503。
  • 后端服务协议/端口不兼容:80虚拟主机将请求转发到http://192.168.1.37:4401/,如果后端服务器的4401端口实际运行的是HTTPS服务,会出现协议不兼容的情况,代理B无法正确获取后端响应,触发503错误。

内容的提问来源于stack exchange,提问作者H.LK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 21:39:17