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

Fedora 37下Nginx location指令失效,代理请求返回404求助

Nginx location指令失效导致404问题排查

核心问题分析及解决步骤:

  • 服务器名称不匹配
    你的server块配置了server_name myapi.com;,但实际访问的是localhost/api/,Nginx会优先匹配与请求域名一致的server块,若没有匹配到localhost的配置,会使用默认服务器规则,导致你的/api/ location未生效。
    解决:修改server_name为localhost,或添加localhost到列表中:

    server_name  myapi.com localhost;
    
  • 验证后端路径可用性
    确认后端服务http://127.0.0.1:3000是否存在/api/0/路径。直接用curl测试:

    curl http://127.0.0.1:3000/api/0/
    

    如果返回404,说明问题出在后端服务,而非Nginx配置。

  • 重载Nginx配置
    修改配置后必须重新加载才能生效:

    sudo nginx -s reload
    

    若重载失败,先检查配置语法:

    sudo nginx -t
    
  • 查看错误日志定位细节
    查看Nginx错误日志获取具体404原因:

    sudo tail -f /var/log/nginx/error.log
    

    访问localhost/api/后,日志会明确显示是Nginx未匹配到location,还是后端返回的404。

修改后的示例server块:

server {
    listen       80;
    listen       [::]:80;
    server_name  myapi.com localhost;
    # root         /usr/share/nginx/html;

    include /etc/nginx/default.d/*.conf;

    error_page 404 /404.html;
    location / {
        proxy_pass http://127.0.0.1:3000;
    }

    location /api/ {
        proxy_pass http://127.0.0.1:3000/api/0/;
    }

    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:32:42