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