我正在尝试将旧的 Tomcat 置于 Apache HTTPS 反向代理之后。我配置了 https 虚拟主机来执行实际代理,并配置了 http 虚拟主机以将所有内容重定向到 https:
https 代码片段:
ProxyRequests Off
ProxyPass /old_app/ http://192.168.1.18:8080/old_app/
ProxyPassReverse /old_app/ http://192.168.1.18:8080/old_app/
http 片段:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
问题是网站显示了,但没有 CSS 或图像。如果使用 Chrome 开发者控制台检查,我会看到很多有关混合内容的错误,这些错误被阻止是因为最初在 http 中引用。我四处搜索,找到了一些关于修改代理网站的建议,但在我的处境下,我无法修改 Tomcat webapp。有办法解决这个问题吗?或者唯一的方法是修改 old_app 源代码?也许切换到 Nginx 并进行一些特定的配置?