You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nginx配置问题:如何修改配置使/api/auth路径可访问?

修正Nginx配置解决/api/auth 404问题

你的Nginx配置里有三个关键错误导致了404,直接修改nginx/sites-available/default里的location /api块即可,具体修正如下:

错误点说明

  • 多余的本地文件查找配置:root和try_files是用来查找本地静态文件的,但你的/api路径是要反向代理到Node服务,这两行会让Nginx先去本地/opt/devParty/routes/api找文件,找不到直接返回404,根本不会走代理。
  • proxy_pass路径错误:原配置末尾加了斜杠/,会把请求的/api前缀去掉,传给Node服务的路径变成/auth,但你的Node路由是/api/auth,所以匹配不到。
  • CORS头拼写错误:Access-ControlAllow-Origin少了连字符,应该是Access-Control-Allow-Origin,否则跨域配置不生效。

修改后的完整配置

server {
  listen 80 default_server;
  server_name _;

  # react app & front-end files
  location / {
    root /opt/devParty/client/build;
    try_files $uri /index.html;
  }

  # node api reverse proxy
  location /api {
    add_header 'Access-Control-Allow-Origin' '*';
    proxy_pass http://localhost:4000;
    # 可选:添加代理必备头部,确保Node服务获取正确客户端信息
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}

验证步骤

  1. 保存配置后重启Nginx生效:
sudo systemctl restart nginx
  1. 确认Node服务在4000端口正常运行:
curl http://localhost:4000/api/auth

如果返回登录相关正常响应,说明Node路由无问题,此时通过域名访问/api/auth就不会出现404了。

内容的提问来源于stack exchange,提问作者codereyes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 05:52:45