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
上一篇:下行非正交传输的基本原理 | 带你读《5G非正交多址技术》之四


下一篇:【.Net Micro Framework PortingKit - 06】设置芯片时钟