![将部署在 Tomcat 上的应用程序映射到我的域后,CSS 和图像中断](https://linux22.com/image/744665/%E5%B0%86%E9%83%A8%E7%BD%B2%E5%9C%A8%20Tomcat%20%E4%B8%8A%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%98%A0%E5%B0%84%E5%88%B0%E6%88%91%E7%9A%84%E5%9F%9F%E5%90%8E%EF%BC%8CCSS%20%E5%92%8C%E5%9B%BE%E5%83%8F%E4%B8%AD%E6%96%AD.png)
我在运行 Ubuntu 18.04.3 的 Digital Ocean droplet 上安装了 Tomcat 9.0.27。我在 Tomcat 上部署了 Java WAR,并能够在 URL 上访问它:
http://example.com:8080/app_name
我希望能够通过我的域直接访问我的 WAR 服务 JSP。因此,当我点击example.com
它时,它会直接为我的 Java 应用程序提供服务。
我尝试了几个链接来做同样的事情。根据其中一个链接(https://www.digitalocean.com/community/questions/how-to-tie-domain-name-with-application-running-on-tomcat),我执行了以下步骤:
1. 使用 启用“proxy”和“proxy_http” a2enmod
2. 使用 重新启动 Apache2 服务systemctl restart
3. 在名为 /etc/apache2/sites-available/tomcat.conf 的文件中创建一个新的虚拟主机,内容如下:
<VirtualHost *:80>
ServerName www.example.com
ProxyRequests On
ProxyPass / http://localhost:8080/app_name/
ProxyPassReverse / http://localhost:8080/app_name/
</VirtualHost>
- 使用 a2ensite 启用“tomcat”站点
- 使用以下方法重新启动 Apache2 服务
systemctl restart
现在,当我点击example.com
它时,它确实为我的主页提供服务,但所有 CSS 样式和图像似乎都坏了。超链接也不再起作用。我的应用程序仍在example.com:8080/app_name
此 URL 上提供服务,并且一切正常。
这个你能帮我吗。
答案1
将我的 WAR 作为 ROOT.war 部署在 /opt/tomcat/webapps/ 目录中。
其他答案/建议均无效。