Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

问题

一个服务器上部署多个node的服务,想要根据路径进行server的转发,但匹配到路径的静态资源访问404。

配置

`

#nginx配置
location /admin {
    proxy_pass http://127.0.0.1:3000/;
}

`
问题如下图,静态资源访问404,但如果加上3000端口是可以访问到该静态资源的,请教一下各位大佬,是什么原因?以及应该如何解决?
image


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
2.7k views
Welcome To Ask or Share your Answers For Others

1 Answer

经过排查,发现是nginx中路径/admin/在匹配到后还会再往下寻找匹配规则(PS:在我的nginx中并没有找到后面有符合的规则)以及proxy_pass中uri中末尾/的原因,如下规则匹配到后不会再往下匹配,即可正常代理静态资源
`

location ^~ /admin {
    proxy_pass http://127.0.0.1:3000;
}

`
这样就可以匹配到静态资源了
image.png


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...