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

CentOS 8下Apache反向代理问题:访问proxy.domain.com跳转至storage.domain.com

反向代理跳转异常问题排查与解决

我在CentOS 8服务器上使用Apache2配置反向代理,Nextcloud已在storage.domain.com正常运行。现在需要为proxy.domain.com配置反向代理,指向本地8181端口,但访问proxy.domain.com时会跳转到storage.domain.com,而非预期的127.0.0.1:8181页面。

当前配置文件

proxyfile.conf(反向代理配置)

ServerName proxy.domain.com
<VirtualHost *:80>
  ServerName proxy.domain.com
  <Location />
     ProxyPass http://127.0.0.1:8181/
     ProxyPassReverse http://127.0.0.1:8181/
     ProxyPreserveHost On
  </Location>
</VirtualHost>

nextcloud.conf(Nextcloud配置)

<VirtualHost *:80>
  DocumentRoot /var/www/nextcloud/
  ServerName  storage.domain.com
  Redirect permanent / https://storage.domain.com
  <IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=15552000"
  </IfModule>

  <Directory /var/www/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    <IfModule mod_dav.c>
      Dav off
    </IfModule>

  </Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =storage.domain.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

问题排查与解决

  1. 修正proxyfile.conf的无效配置
    当前ServerName proxy.domain.com写在了<VirtualHost>块外部,属于无效配置,Apache仅会读取虚拟主机块内的ServerName。删除块外的ServerName,修正后的配置如下:

    <VirtualHost *:80>
      ServerName proxy.domain.com
      <Location />
         ProxyPass http://127.0.0.1:8181/
         ProxyPassReverse http://127.0.0.1:8181/
         ProxyPreserveHost On
      </Location>
    </VirtualHost>
    
  2. 检查Apache默认站点配置
    若服务器存在未指定ServerName的默认站点配置(如000-default.conf),Apache会将第一个加载的虚拟主机(此处为nextcloud.conf)作为默认站点,导致未匹配的域名被导向storage.domain.com。

    • 查看启用的配置文件:ls /etc/httpd/conf.d/
    • 若有默认配置文件,添加ServerName为非冲突域名,或直接删除该默认配置。
  3. 确认反向代理模块已加载
    确保Apache已加载反向代理所需模块:

    • 执行命令验证:httpd -M | grep proxy
    • 需确认proxy_module、proxy_http_module已加载;若未加载,在/etc/httpd/conf.modules.d/00-proxy.conf中启用这些模块。
  4. 验证配置并重启服务

    • 测试配置语法正确性:httpd -t
    • 重启Apache服务:systemctl restart httpd
    • 再次访问proxy.domain.com,确认是否正常指向8181端口的服务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 15:31:49