我有一个在 tomcat 中运行的 spring web 应用程序,我可以使用https://示例:8080/myApp。我已安装 Apache2 以将端口 443 请求重定向到 tomcat。现在我可以访问我的应用程序而无需端口号。我已使用 LetsEncrypt 安装了 SSL 证书,并且所有 HTTP 请求都转发到 https。当我在浏览器中输入我的域名时,它会将我带到 tomcat 主页,而不是我的 Web 应用程序。这是我的 443 虚拟主机配置
<IfModule mod_ssl.c>
<VirtualHost *:443>
JKMount /* ajp13_worker
ProxyPreserveHost On
ProxyRequests Off
ServerAdamin webmaster@myDomain
ServerName example.com
ServerAlias www.example.com
ProxyPass https://example.com http://localhost:8080/myApp
ProxyPassReverse https://example.com http://localhost:8080/myApp
<!--ssl details-->
</VirtualHost>
</IfModule>
为什么它没有重定向到myApp
。任何帮助都将不胜感激。如果您需要更多详细信息,请询问。
答案1
当使用两个参数时ProxyPass
它不将完整的 URL 作为第一个参数,只将路径作为第一个参数。
ProxyPass / http://localhost:8080/myApp/
ProxyPassReverse / http://localhost:8080/myApp/
尾随的斜杠也很重要。