Nginx 配置反向代理后前端请求 404 怎么回事?
我用 Nginx 做了反向代理,把前端打包后的静态资源部署好了,但一调后端接口就返回 404。本地 dev 时用 proxy 配置没问题,上线后就不行了。
我的前端代码里是这样发请求的:
fetch('/api/user/profile')
.then(res => res.json())
.then(data => console.log(data))
.catch(err => console.error('请求失败:', err));
Nginx 里配了 location /api {} 转发到后端服务,但好像没生效,是不是路径匹配有问题?
然后在 server 块里加上这些配置来优化一下:
注意
proxy_pass后面的地址要以斜杠结尾,并且和 location 的路径保持一致。这个小细节经常被忽略,会导致请求路径不对。另外前端代码里的 fetch 路径不用改,还是用 /api/user/profile 这样写就行。记得重启 Nginx 让配置生效。要是还404,看看后端服务是不是真的能正常响应了,有时候问题出在后端服务没起来。