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

无法配置代理使ASP.NET Core应用在Apache网站上正常访问

解决Apache代理ASP.NET Core应用时的AH01102错误

问题重现

出现如下Apache错误日志:

[Fri Jan 06 10:54:01.049808 2023] [proxy_http:error] [pid 17756:tid 3045061632] (20014)Internal error (specific information not available): [client 5.150.205.190:61781] AH01102: error reading status line from remote server localhost:7199, referer: http://www.website.me/ 
[Fri Jan 06 10:54:01.050039 2023] [proxy:error] [pid 17756:tid 3045061632] [client 5.150.205.190:61781] AH00898: Error reading from remote server returned by /favicon.ico, referer: http://www.website.me/

当前VirtualHost配置:

<VirtualHost *:80>
    ServerName www.website.me
    ServerAlias www.website.me
    ProxyPreserveHost On
    ProxyRequests On
    ProxyPass "/" "http://localhost:7199/"
    ProxyPassReverse "/" "http://localhost:7199/"
</VirtualHost>

本地可直接访问localhost:7199,但通过Apache代理无法访问。

核心解决方案

1. 关闭正向代理(关键修复)

配置中ProxyRequests On是启用正向代理,反向代理场景下必须将其设为Off,否则会干扰反向代理的正常逻辑,甚至引发安全风险。修改后的配置片段:

ProxyRequests Off

2. 确认ASP.NET Core应用的监听地址

确保ASP.NET Core应用监听的是允许Apache进程访问的地址,而非仅绑定到特定IP。在Program.cs中配置监听地址:

var builder = WebApplication.CreateBuilder(args);
// 配置应用监听所有网络接口的7199端口
builder.WebHost.UseUrls("http://0.0.0.0:7199");

3. 验证Apache必要模块已加载

确保Apache加载了代理相关模块:

  • Linux环境执行命令启用模块:
    a2enmod proxy proxy_http
    
  • Windows环境在httpd.conf中确保以下行未被注释:
    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    

4. 调整代理超时设置

若ASP.NET Core应用响应较慢,Apache可能因超时断开连接,添加超时配置到VirtualHost中:

ProxyTimeout 300

5. 处理SELinux限制(仅Linux环境)

部分Linux发行版(如CentOS、RHEL)的SELinux会阻止Apache连接到本地端口,执行以下命令解除限制:

setsebool -P httpd_can_network_connect 1

最终修改后的VirtualHost配置

<VirtualHost *:80>
    ServerName www.website.me
    ProxyPreserveHost On
    ProxyRequests Off
    ProxyPass "/" "http://localhost:7199/"
    ProxyPassReverse "/" "http://localhost:7199/"
    ProxyTimeout 300
    RequestHeader set X-Forwarded-Proto "http"
</VirtualHost>

修改完成后重启Apache服务,测试代理访问是否正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:35:35