Nginx upstream配置后为什么请求没被转发到后端服务? 设计师朝阳 提问于 2026-03-06 13:54:20 阅读 7 工具 我用 Nginx 做反向代理,配了 upstream,但访问时一直报 502 Bad Gateway。本地后端服务明明是开着的,端口也监听正常。 我试过直接 curl 后端地址能拿到响应,但通过 Nginx 就不行。是不是 upstream 配错了?我的配置如下: upstream backend { server 127.0.0.1:3000; } server { listen 80; location /api/ { proxy_pass http://backend/; } } 我来解答 赞 1 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 常青酱~ Lv1 502一般是Nginx连不上后端服务,你试试这个配置,改了两个地方: upstream backend { server 127.0.0.1:3000; } server { listen 80; location /api/ { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } 主要问题: 1. 去掉proxy_pass最后的斜杠,否则路径会被改写 2. 加上必要的header转发,有些后端服务需要这些头 如果还不行,看下Nginx错误日志: tail -f /var/log/nginx/error.log 顺便吐槽下Nginx这个斜杠的坑,每次都要踩一次才记得住... 回复 点赞 2026-03-06 14:04 加载更多 相关推荐 1 回答 41 浏览 Nginx配置keepalive后客户端请求依然无复用,该怎么排查? 我在Nginx服务器配置了keepalive参数,但通过浏览器开发者工具看网络请求时,每个资源还是显示HTTP/1.1"且连接没有复用。配置文件里写了: http { keepalive_timeou... ♫建英 工具 2026-02-12 12:52:23 2 回答 40 浏览 Nginx限流配置后,为什么超过3次请求就直接被拒绝了? 我按文档配置了Nginx的限流,设置的是每秒最多5次请求(burst设了3),但测试时发现超过3次就直接返回503了。代码检查了好几遍没问题,难道是我的配置哪里理解错了? 配置片段如下(简化版):&l... 欧阳利利 工具 2026-01-26 23:44:36 2 回答 40 浏览 Nginx配置geo封禁恶意IP时正常请求被拦截怎么办? 最近在配置Nginx服务器时,想通过geo模块封禁恶意扫描IP,但设置后正常访问也出现403了。我按网上的教程写了geo和limit_req配置,但测试时自己的IP被莫名拦截,日志显示匹配到了某个规则... 旗施~ 工具 2026-01-27 09:29:53 1 回答 17 浏览 Nginx反向代理后前端请求404了怎么办? 我本地开发时 API 请求都正常,但部署到服务器用 Nginx 做反向代理后,所有接口都返回 404。Nginx 配置里 proxy_pass 写的是后端服务地址,路径也对,但就是不行。 前端代码里是... Mc.俊美 工具 2026-03-05 08:21:24 1 回答 15 浏览 Nginx反向代理后端接口时为什么一直返回502? 我用Nginx给本地开发的Node.js服务做反向代理,前端请求一发就报502 Bad Gateway,但直接访问后端端口是通的。是不是proxy_pass配置有问题? 我的Nginx配置里写了pro... Code°玉萱 工具 2026-03-02 20:21:22 1 回答 49 浏览 配置了Nginx HTTP/2但浏览器还是显示HTTP/1.1? 折腾了一下午配置Nginx的HTTP/2,按照教程设置了443端口和ssl参数,但Chrome开发者工具里网络请求还是显示协议HTTP/1.1。我用JavaScript检测协议的代码也没反应,是不是哪... FSD-星光 工具 2026-02-01 13:03:42 2 回答 114 浏览 为什么配置了Nginx keepalive后静态资源加载变慢了? 我给Nginx加了keepalive配置想优化性能,结果发现图片加载反而更卡了 配置是这样的: http { keepalive_timeout 65; keepalive_requests 100;... 金壵(打工版) 工具 2026-01-27 20:06:24 1 回答 19 浏览 Nginx日志怎么只记录特定路径的请求? 我正在用Nginx部署一个前端项目,想单独记录 /api/ 开头的请求日志,但试了几次都没成功。我在 location 里加了 access_log 指令,但好像没生效,所有请求还是混在一起。 顺便贴... a'ゞ付敏 工具 2026-03-06 07:39:21 1 回答 35 浏览 Nginx 配置完反向代理后页面加载空白怎么办? 我本地用 Vue 开发了一个前端项目,打包后放到 Nginx 里,想通过反向代理访问后端 API,但配置完之后页面完全空白,控制台也没报错。 我试过直接访问静态文件是正常的,但加上 proxy_pas... 长孙东宇 前端 2026-02-28 13:22:22 2 回答 25 浏览 Nginx限流后前端请求被拦,怎么处理429错误? 我用Nginx做了限流配置,结果前端频繁调用接口时直接返回429了,页面卡住没法继续操作。有没有办法在JS里捕获这个状态并友好提示用户? 试过在axios拦截器里判断status === 429,但有... UP主~焕焕 工具 2026-02-27 13:09:20
主要问题:
1. 去掉proxy_pass最后的斜杠,否则路径会被改写
2. 加上必要的header转发,有些后端服务需要这些头
如果还不行,看下Nginx错误日志:
tail -f /var/log/nginx/error.log顺便吐槽下Nginx这个斜杠的坑,每次都要踩一次才记得住...