SpringBoot打成war包后Tomcat无法访问静态资源问题

简介: SpringBoot打成war包后Tomcat无法访问静态资源问题

pom.xml配置了包名

<build>
  <!--生成war包的名称-->
  <finalName>mobile</finalName>
</build>

将mobile.war放入tomcat的webapps目录下,页面可以访问

http://localhost:8080/mobile/

不过发现静态文件都无法访问

/static/img/icon.png

静态地址是以绝对路径/static开头的,tomcat部署了多个项目,它也不知道你要访问那个项目下的静态资源,如果加上mobile 就可以访问到

/mobile/static/img/icon.png

可是我总不能在每个文件都加这么一个前缀吧

其实通过Nginx转发一下就能实现了

location / {
    proxy_pass http://127.0.0.1:8080/mobile/;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

这样一来所有路径都做了转发

/                    => /mobile/
/static/img/icon.png => /mobile/static/img/icon.png
相关文章
|
域名解析 运维 负载均衡
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
【运维知识进阶篇】Tomcat集群实战之部署zrlog博客(Tomcat服务安装+静态资源挂载NFS+Nginx负载均衡+HTTPS证书+Redis会话保持)
405 1
|
Java 应用服务中间件 nginx
SpringBoot打成war包后Tomcat无法访问静态资源问题
SpringBoot打成war包后Tomcat无法访问静态资源问题
1041 0
|
前端开发 JavaScript 应用服务中间件
解决Tomcat无法加载css和js等静态资源文件
解决思路有两个 一是,你使用了Apache服务器,html不交给Tomcat处理,所以你找不到Html等静态资源,所以你先停掉阿帕奇,然后只用Tomcat猫试试。 二是,像我一样,使用了Jetty开发程序,但是打war包的时候忘记干掉web.xml中的jetty修改静态资源的代码。
2957 0
|
2月前
|
安全 应用服务中间件 网络安全
Tomcat如何配置PFX证书?
【10月更文挑战第2天】Tomcat如何配置PFX证书?
238 7
|
2月前
|
存储 算法 应用服务中间件
Tomcat如何配置JKS证书?
【10月更文挑战第2天】Tomcat如何配置JKS证书?
369 4
|
4月前
|
网络协议 Java 应用服务中间件
tomcat配置域名及HTTPS
tomcat配置域名及HTTPS
|
4月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
2月前
|
Java Shell 应用服务中间件
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
这篇文章介绍了如何在Mac系统下配置Java JDK、Maven和Tomcat的环境变量,包括配置文件的选择、解决环境变量在zsh shell中无效的问题、查看和设置系统环境变量的方法,以及JDK和Maven的下载、配置和测试步骤。
1556 1
Mac系统下配置环境变量:Javajdk、maven、tomcat 环境变量配置及对应配置文件
下一篇
DataWorks