Nginx 反向代理入门:一篇看懂 proxy_pass
前后端分离部署、多服务共用一个域名、HTTPS 证书统一卸载——这些需求的背后都是 Nginx 反向代理。本文用最小可运行配置讲清 proxy_pass 的核心用法。
一、最简反向代理
server 块里写 location /api/ { proxy_pass http://127.0.0.1:8080/; },访问 /api/list 会被转发到后端的 /list。注意结尾斜杠:proxy_pass 带斜杠会去掉 location 前缀,不带斜杠则原样拼接,这是最常见的踩坑点。
二、必须带上的三行头
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;——第一行让后端拿到正确域名,后两行让后端拿到真实客户端 IP,否则日志里全是 127.0.0.1。
三、负载均衡一句话
upstream backend { server 10.0.0.1:8080; server 10.0.0.2:8080; } 然后 proxy_pass http://backend;,默认轮询。加 weight=2 调权重,加 backup 做备机。改完 nginx -t 检查语法、nginx -s reload 平滑生效,不会断连接。
排障三板斧:先看 error.log(路径通常在 /var/log/nginx/),再 curl -H "Host: 原域名" 直接打后端端口,对比两边响应定位是代理层还是服务层的问题。掌握这三段,八成的新项目部署场景都能覆盖。
- 点赞
- 收藏
- 关注作者
评论(0)