nginx配置api转发时结尾带不带斜杠的区别是什么

 更新时间:2026年08月30日 10:20:45   作者:博风  
还在为nginx转发后接口路径不对而头疼吗?本文用实例讲清proxy_pass结尾带/和不带/的区别,帮你快速配置SpringBoot后端接口,避免404错误

nginx配置api转发时结尾带不带斜杠区别

  • 前端:dist 放在 nginx/html/dist
  • 后端接口:/api/** 转发到 SpringBoot
server {
    listen 80;
    server_name localhost;

    # 前端静态资源
    location / {
        root   html/dist;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html; # Vue/React 路由刷新
    }

    # 后端接口代理
    location /api/ {
        proxy_pass http://127.0.0.1:8080/api/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

结尾不带/的

location /api/{
        proxy_pass http://127.0.0.1:8080
}
请求地址转发到后端地址
/api/user/loginhttp://127.0.0.1:8080/api/user/login
/api/getInfohttp://127.0.0.1:8080/api/getInfo
/api/order/listhttp://127.0.0.1:8080/api/order/list

结尾带/的

location /api/{
        proxy_pass http://127.0.0.1:8080/
}
请求地址转发到后端地址
/api/user/loginhttp://127.0.0.1:8080/user/login
/api/getInfohttp://127.0.0.1:8080/getInfo
/api/order/listhttp://127.0.0.1:8080/order/list

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论