Nginx反向代理后前端请求404了怎么办?

Mc.俊美 阅读 14

我本地开发时 API 请求都正常,但部署到服务器用 Nginx 做反向代理后,所有接口都返回 404。Nginx 配置里 proxy_pass 写的是后端服务地址,路径也对,但就是不行。

前端代码里是这么发请求的:

fetch('/api/user/profile')
  .then(res => res.json())
  .then(data => console.log(data))
  .catch(err => console.error('请求失败:', err));

是不是路径没匹配上?还是少了什么 header 配置?试过加 proxy_set_header 也没用,快被搞晕了……

我来解答 赞 7 收藏
二维码
手机扫码查看
1 条解答
シ志玉
シ志玉 Lv1
检查一下nginx配置,八成是location没匹配对或者少了proxy_pass后面的斜杠。这样配:

location /api/ {
proxy_pass http://backend-service/; # 注意这个斜杠
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}


前端代码不用改,nginx会把/api开头的请求转发到后端服务。少了最后的斜杠会导致路径拼接错误,就404了。
点赞
2026-03-05 12:17