Apache2/Tomcat9跨系统迁移后根域名HTTPS重定向失效问题求助
解决HTTPS根域名重定向失效的问题
我来帮你搞定这个HTTPS根路径跳转的坑——这是迁移后很常见的配置疏漏,因为Apache在Ubuntu上,HTTP和HTTPS的虚拟主机是分开独立配置的!你修改的000-default.conf只负责处理80端口的HTTP请求,443端口的HTTPS请求得去对应的配置文件里调整。
下面是具体的解决步骤:
1. 找到并编辑HTTPS虚拟主机配置文件
Ubuntu默认的HTTPS配置文件是/etc/apache2/sites-available/default-ssl.conf,用文本编辑器打开它:
sudo nano /etc/apache2/sites-available/default-ssl.conf
2. 在HTTPS虚拟主机块中添加规则
根据你的需求,有两种常用配置方式:
方式一:根路径重定向到指定Tomcat应用
如果想把https://www.myservername.com直接跳转到你的Tomcat应用(比如/my-web-app),就在<VirtualHost *:443>代码块里添加:
# 匹配根路径,重定向到目标应用 RedirectMatch ^/$ /my-web-app/
方式二:直接代理根路径到Tomcat根目录
如果Tomcat根目录本身有默认应用,想让Apache直接把HTTPS根请求转发给Tomcat,就添加和你已有应用一致的代理规则:
ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/
注意:如果已经配置了其他ProxyPass规则,务必把根路径的规则放在最前面——Apache会按规则的书写顺序匹配请求。
3. 确认HTTPS相关模块和站点已启用
如果之前没开启HTTPS支持,执行以下命令补全配置:
# 启用SSL模块 sudo a2enmod ssl # 启用HTTPS虚拟主机站点 sudo a2ensite default-ssl.conf
4. 重启Apache让配置生效
sudo systemctl restart apache2
这样操作后,https://www.myservername.com就会和HTTP请求一样,跳转到你指定的Tomcat应用,再也不会指向默认的/var/www目录了。
内容的提问来源于stack exchange,提问作者Jake
相关产品推荐
相关产品推荐

