![](/img/trans.png)
[英]Setting context name in thymeleaf with spring boot deployed on tomcat8 behind apache reverse proxy
[英]Apache2 proxy reverse broken Tomcat8 links
在我的DigitalOcean vps中,我有Apache2(LAMP),phpmyadmin和Tomcat8。一切运行良好。 现在我想实现反向代理,所以我不能访问tomcat8 https://mydominiam.com:8080但https://mydominiam.com/tomcat 。 阅读一些教程后,我可以在/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>
上面的代码是在访问https:// mydomain / tomcat时显示的,tomcat主页出现,但链接断开。
但是,如果我更改代码:
ProxyPass /tomcat ajp://mydomain.com:8009/
ProxyPassReverse /tomcat ajp://mydomain.com:8009/
对于
ProxyPass / ajp://mydomain.com:8009/
ProxyPassReverse / ajp://mydomain.com:8009/
通常,tomcat主页不会重新加载任何断开的链接,而只能通过url https://mydomain.com重新加载
我试图按照本教程进行操作,但仍然失败。 有人可以告诉我我在做什么错?
在试图重写上下文路径的Tomcat应用程序中使用ProxyPass
(在上面的配置中,将/tomcat
更改为/
),您的应用程序可以通过多种方式中断。
最好使用这样的配置:
ProxyPass /tomcat ajp://mydomain.com:8009/tomcat
ProxyPassReverse /tomcat ajp://mydomain.com:8009/tomcat
现在,将您的应用程序部署为/tomcat
而不是ROOT上下文。 您可以通过将WAR文件从ROOT.war
重命名为tomcat.war
(或将展开的WAR目录从ROOT
重命名为tomcat
)来轻松地做到这一点。
如果执行上述操作,则无需玩任何具有重写页面内链接的游戏,等等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.