问题再现
分析问题:
就是通过http://182.44.16.68:8077/web-ui/static/js/chunk-libs.82635094.js 地址访问,找不到对应的js文件
首先确认文件在服务器的位置
发现这个目录下确实有这个js文件,那问题就在于http://182.44.16.68:8077/web-ui/static/js/chunk-libs.82635094.js 这个地址不能通过Nginx找到对应的文件,所以需要添加配置
location /web-ui/static/ {
alias /web-ui/static/;
}
这个配置表示 访问/web-ui/static/的时候,会匹配到服务器的/web-ui/static/位置,现在页面就正常了
那有的同学就会问,我改成下面这样配置为什么就不行呢,还是404 Not Found
location /web-ui/static/ {
root /web-ui/static/;
}
因为root和alias转发的是不一样的,当你访问http://182.44.16.68:8077/web-ui/static/js/chunk-libs.82635094.js的时候
如果是root转发到:http://182.44.16.68:8077/web-ui/static/web-ui/static/js/chunk-libs.82635094.js
如果是alias转发到:http://182.44.16.68:8077/web-ui/static/js/chunk-libs.82635094.js
现在你可能有点懵逼,我们改配置简单点
location /a/ {
root /web-ui/static/;
}
location /a/ {
alias /web-ui/static/;
}
当我访问http://182.44.16.68:8077/a/b.js的时候
如果是root转发到:http://182.44.16.68:8077/web-ui/static/a/b.js
如果是alias转发到:http://182.44.16.68:8077/web-ui/static/b.js
你看懂了吗?
总结:
下课!