nginx配置api转发时结尾带不带斜杠的区别是什么
作者:博风
还在为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/login | http://127.0.0.1:8080/api/user/login |
| /api/getInfo | http://127.0.0.1:8080/api/getInfo |
| /api/order/list | http://127.0.0.1:8080/api/order/list |
结尾带/的
location /api/{
proxy_pass http://127.0.0.1:8080/
}| 请求地址 | 转发到后端地址 |
|---|---|
| /api/user/login | http://127.0.0.1:8080/user/login |
| /api/getInfo | http://127.0.0.1:8080/getInfo |
| /api/order/list | http://127.0.0.1:8080/order/list |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
