nginx 反向代理常用设置说明
根据不同的后缀名访问不同的服务器地址
例如:
| server { |
| listen 80; |
| server_name aaa.com.cn; |
| |
| |
| location ^~ /api/ { |
| |
| proxy_pass http://www.x.com:9528/api/; |
| |
| } |
| |
| location ^~ /blog/ { |
| |
| proxy_pass http:/www.y.com/blog/; |
| } |
| } |
proxy_set_header说明要配置反向代理服务器传递给其他服务器的标头,我们可以在之前创建的配置文件中定义它们。使用 proxy_set_header
指令调整标头。 它们可以在server, location 或 http 块中配置。例如
| proxy_set_header Host $proxy_host; |
| proxy_set_header Connection close; |
配置说明
项目 |
值 |
说明 |
Host |
$http_host |
服务器本身IP |
X-Real-IP |
X-Real-IP |
$remote_addr,前一节点IP(非用户真实IP) |
X-Forwarded-For |
$proxy_add_x_forwarded_for |
$proxy_add_x_forwarded_for,前一节点X-Forwarded-For值 |
X-Forwarded-Proto |
$scheme |
浏览器在访问时的实际协议 |
X-Forwarded-For: 简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。 它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中可以找到该项的详细介绍。
标准格式:X-Forwarded-For: client1, proxy1, proxy2。值通过一个“逗号+空格”把多个IP地址区分开, 最左边(client1)是最原始客户端的IP地址, 代理服务器每成功收到一个请求,就把请求来源IP地址添加到右边。
$host
、$http_host
, $proxy_host
说明
变量名 |
是否显示端口 |
值 |
$host |
不显示端口 |
浏览器请求的ip |
$http_host |
端口存在则显示 |
被代理服务的ip和端口号 |
$proxy_host |
默认80端口不显示,其它显示 |
被代理服务的ip和端口号 |
标准配置示例
| server { |
| listen 80; |
| server_name www.xxx.com; |
| |
| location / |
| { |
| proxy_pass http://xxx.com; |
| proxy_set_header host $host; |
| proxy_set_header X-Real-IP $remote_addr; |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
| } |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?