Ubuntu20.04下Apache HTTP Server与Tomcat集成后HTTPS访问404求助
问题核心原因
你仅在80端口的HTTP虚拟主机中配置了AJP转发规则,未在443端口的HTTPS虚拟主机中添加对应转发配置,且workers.properties存在配置错误,共同导致HTTPS访问404。
修复步骤
- 修正
/etc/apache2/workers.properties的重复定义问题
原配置中多次声明worker.list会覆盖之前的配置,导致worker1未被加载,修改为合并声明:
# 合并所有worker到同一声明行 worker.list=worker1,jk-status,jk-manager #set properties for worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 # configure jk-status worker.jk-status.type=status worker.jk-status.read_only=true # configure jk-manager worker.jk-manager.type=status
- 配置HTTPS虚拟主机转发规则
找到443端口对应的虚拟主机配置文件,默认路径为/etc/apache2/sites-enabled/default-ssl.conf,在<VirtualHost *:443>区块内添加AJP转发规则:
JKMount /* worker1 # 若仅需要转发examples路径,可使用更精准的规则: # JKMount /examples/* worker1
- 验证配置并重启服务
- 校验Apache配置语法合法性:
apache2ctl configtest - 重载Apache服务生效配置:
systemctl reload apache2
可选校验项
- 执行
ss -tulpn | grep 8009确认8009端口被Tomcat正常监听 - 确认HTTPS站点证书配置正确,无其他重定向规则拦截目标路径
- 生产环境建议将Tomcat AJP连接器的
secretRequired改为true并配置对应密钥,避免未授权访问
内容的提问来源于stack exchange,提问作者Allan GItobu
相关产品推荐
相关产品推荐

