SpringBoot打Jar包集成静态资源,nginx反向代理报404的错误
网上找了很多相似的案例,但是解决方案众口不一,下面整理一下我的解决方案
在springboot的配置文件中加入下面配置
spring:
resources:
static-locations: classpath:/
该配置可将静态资源文件放入项目包的根路径下,nginx可以直接访问
贴上我的nginx配置
upstream farm_api {
server 127.0.0.1:8080;
}
server
{
listen 443 ssl http2;
server_name farm.domain.com;
#error_page 404/404.html;
ssl_certificate /www/server/panel/vhost/cert/farm_manager/***.pem;
ssl_certificate_key /www/server/panel/vhost/cert/farm_manager/***.key;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {
proxy_pass http://farm_api;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
access_log /www/wwwlogs/farm.api.log;
error_log /www/wwwlogs/farm.api.error.log;
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
proxy_pass http://farm_api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ .*\.(js|css)?$ {
proxy_pass http://farm_api;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
expires 12h;
}
}
是通过https://farm.doman.com访问项目,反向代理到8080端口上,静态资源也做了反向代理。
如果能帮到遇到此问题的你,请帮忙点个赞哦~