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

Apache配置问题:HTTPS站点自动跳转至HTTP如何解决?

解决Apache中HTTPS自动跳转至HTTP的问题

你的配置存在几个关键问题,导致HTTPS访问被强制跳转到HTTP,以下是具体修正方案:

问题定位

  1. 全局代理规则干扰:配置开头的ProxyPass /geoserver http://mydomain:8080/geoserver属于全局规则,优先级高于虚拟主机内的配置,会直接将请求代理到HTTP后端,引发跳转。
  2. 域名配置不统一:全局ServerName为geoserver.intelliyazilim.com,但虚拟主机内的ServerName设为mydomain,域名不匹配导致Apache无法正确识别HTTPS站点的配置规则。
  3. HTTPS虚拟主机格式不规范:使用_default_:443可能引发虚拟主机匹配优先级问题,应明确指定*:443以确保HTTPS请求被正确拦截。

修正步骤

  1. 删除全局代理规则,将代理逻辑统一放到HTTPS虚拟主机内,避免全局规则干扰。
  2. 统一所有虚拟主机的ServerName和ServerAlias为实际访问域名geoserver.intelliyazilim.com(如需兼容www前缀可添加对应别名)。
  3. 将HTTPS虚拟主机的_default_:443改为*:443,规范配置格式。
  4. 添加后端跳转修正配置,强制替换后端返回的HTTP链接为HTTPS,避免后端响应引发跳转。

修改后的完整配置

ServerName geoserver.intelliyazilim.com

SSLProxyEngine on

# 强制HTTP跳转至HTTPS
<VirtualHost *:80>
    ServerName geoserver.intelliyazilim.com
    ServerAlias www.geoserver.intelliyazilim.com
    RewriteEngine On
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

# HTTPS站点配置
<VirtualHost *:443>
    ServerName geoserver.intelliyazilim.com
    ServerAlias www.geoserver.intelliyazilim.com

    # SSL证书配置
    SSLEngine on
    SSLCertificateFile /home/intelli/Desktop/_.intelliyazilim.com.crt
    SSLCertificateKeyFile /home/intelli/Desktop/KEY.key

    # 代理规则
    ProxyPreserveHost On
    ProxyPass /geoserver https://mydomain:8081/geoserver
    ProxyPassReverse /geoserver https://mydomain:8081/geoserver
    
    # 修正后端返回的Cookie与链接,强制使用HTTPS
    ProxyPassReverseCookieDomain mydomain geoserver.intelliyazilim.com
    Header edit Location ^http://(.*)$ https://$1
</VirtualHost>

生效操作

配置修改完成后,重启Apache服务使变更生效:

sudo systemctl restart apache2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 00:52:24