Apache2代理反向断开Tomcat8链接

Apache2代理反向断开Tomcat8链接,apache,tomcat,reverse-proxy,Apache,Tomcat,Reverse Proxy,在我的DigitalOcean vps中,我有Apache2(LAMP)、phpmyadmin和Tomcat 8。一切进展顺利。 现在我正在尝试实现反向代理,这样我就可以访问tomcat8,而不是通过。在阅读了一些教程之后,我可以在my/etc/apache2/sites available/mydomain.com-ssl.conf中获得以下代码: <VirtualHost *:443> ServerAdmin mydomain@mydomain.com Serve

在我的DigitalOcean vps中,我有Apache2(LAMP)、phpmyadmin和Tomcat 8。一切进展顺利。 现在我正在尝试实现反向代理,这样我就可以访问tomcat8,而不是通过。在阅读了一些教程之后,我可以在my/etc/apache2/sites available/mydomain.com-ssl.conf中获得以下代码:

<VirtualHost *:443>
    ServerAdmin mydomain@mydomain.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /var/www/mydomain.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
        SSLCertificateFile /home/user/ssl/mydomain.com.crt
        SSLCertificateKeyFile /home/user/ssl/mydomain.com.key
        SSLCertificateChainFile /home/user/ssl/intermediate.crt 
 # AJP configuration
 ProxyRequests Off
 ProxyPreserveHost On
 ProxyPass /tomcat ajp://mydomain.com:8009/
 ProxyPassReverse /tomcat ajp://mydomain.com:8009/
 ProxyPassReverseCookiePath / / 
</VirtualHost>
为了

tomcat主页通常不会重新加载断开的链接,但只能通过url https://mydomain.com重新加载


我试着按照教程去做,但还是失败了。有人能告诉我我做错了什么吗?

对Tomcat应用程序使用
ProxyPass
,您试图重写上下文路径(在上面的配置中,将
/Tomcat
更改为
/
),有许多方法可以使应用程序中断

最好使用如下配置:

ProxyPass /tomcat ajp://mydomain.com:8009/tomcat
ProxyPassReverse /tomcat ajp://mydomain.com:8009/tomcat
现在,将应用程序部署为
/tomcat
,而不是根上下文。通过将WAR文件从
ROOT.WAR
重新命名为
tomcat.WAR
(或者将分解的WAR目录从
ROOT
重新命名为
tomcat
),您可以很容易地做到这一点


如果您执行上述操作,就不必玩任何重写页面内链接的游戏等。

我尝试了您向我建议的方式,但对于https://mydomain.com/tomcat,tomcat 8主页不再显示,我收到错误404。这似乎很简单。我做错了什么?@sThiago更新了答案:你需要重新命名你的webapp来更改上下文路径。您是在尝试访问Tomcat的默认应用程序,还是您自己的应用程序?
 ProxyPass / ajp://mydomain.com:8009/
 ProxyPassReverse / ajp://mydomain.com:8009/
ProxyPass /tomcat ajp://mydomain.com:8009/tomcat
ProxyPassReverse /tomcat ajp://mydomain.com:8009/tomcat