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

Apache 2.4反向代理配置故障求助:EC2实例上代理请求返回404或连接拒绝

Apache 2.4反向代理配置故障求助:EC2实例上代理请求返回404或连接拒绝

我在AWS上创建了一台带公网IP(100.0.0.0)的EC2实例,配置Apache 2.4反向代理时遇到了两个棘手的问题,想请大家帮忙排查:

问题1:代理到外部站点返回404,无日志报错

我做了这些操作:

  • 给EC2安全组添加了允许所有IPv4来源的HTTP(80端口)入站规则
  • 在/etc/httpd/conf/httpd.conf中添加了以下反向代理配置:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://www.example.com/
ProxyPassReverse /test/ http://www.example.com/
</VirtualHost>
  • 重启Apache后访问http://100.0.0.0/test/,浏览器直接返回404 - Not Found,但查看Apache的error_log,里面完全没有相关的报错信息。

问题2:代理到本地8080端口返回连接拒绝

尝试把代理目标换成本地监听的8080服务,操作如下:

  • 修改VirtualHost配置,分别测试了两种目标地址:
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://localhost:8080/
ProxyPassReverse /test/ http://localhost:8080/
</VirtualHost>
<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass /test/ http://127.0.0.1:8080/
ProxyPassReverse /test/ http://127.0.0.1:8080/
</VirtualHost>
  • 访问时Apache日志里出现了明确的连接拒绝报错:
Connection refused: AH00957: http: attempt to connect to 127.0.0.1:8080 (127.0.0.1) failed
AH01114: HTTP: failed to make connection to backend: 127.0.0.1, referer: http://100.0.0.0/
  • 确认本地8080端口是正常监听的,执行netstat -aon | grep 8080得到结果:
TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       22304
TCP    [::]:8080              [::]:0                 LISTENING       22304
TCP    [::1]:8080             [::]:0                 LISTENING       25212
  • 额外给EC2安全组添加了允许所有IPv4的出站规则,但问题还是没解决。

我已经参考过相关的Apache反向代理配置教程和官方文档,但还是没找到问题根源。想问问大家:是AWS安全组还有遗漏的规则需要配置,还是Apache反向代理的配置步骤有什么我没注意到的地方?

备注:内容来源于stack exchange,提问作者Travis

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:57:58