场景是将静态资源打包到jar(传统springboot项目)中,nginx原本配置为:
location /example {
proxy_redirect off;
proxy_pass http://ip:端口/index;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
网页可以访问到,但静态资源访问不到
打码部分为nginx所在机器,这个请求网址没问题,毕竟页面也正常跳转了
解决办法:
location / {
proxy_redirect off;
proxy_pass http://ip:端口;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
将nginx指向应用所在的ip+端口即可
再访问http://nginx所在机器ip:监听端口号/你网站的路由 即可访问成功
原因:
nginx在错误的配置中,将应用的/index作为入口,而静态资源是在根目录(classpath下)下,所以访问不到,入口搞错了,入口应该设置成最根的入口,也就是直接ip+端口,再在这个入口的基础上去访问静态资源就行了