将 https 和 http 请求从 apache 重定向到我在 tomcat 中的 Web 应用程序

将 https 和 http 请求从 apache 重定向到我在 tomcat 中的 Web 应用程序

我有一个在 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/

尾随的斜杠也很重要。

相关内容