前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx反向代理proxy_set_header说明

nginx反向代理proxy_set_header说明

作者头像
薛定喵君
发布2021-07-27 16:17:27
2.6K0
发布2021-07-27 16:17:27
举报
文章被收录于专栏:薛定喵君薛定喵君

记录proxy_set_header设置

# 用途

设定被代理服务器接收到的header信息

  • 允许重新定义或添加字段传递给代理服务器的请求头
  • 值可以包含文本、变量和它们的组合
  • 没有定义时会继承之前定义的值

语法:

代码语言:javascript
复制
proxy_set_header field value
  • field:变量名
  • value:变量值

默认值(只有两个字段被重定义):

代码语言:javascript
复制
proxy_set_header Host $proxy_host;
proxy_set_header Connection close;

# 配置说明

项目

说明

Host

$http_host

服务器本身IP

X-Real-IP

$remote_addr

前一节点IP(非用户真实IP)

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、

变量名

是否显示端口

$host

不显示端口

浏览器请求的ip

$http_host

端口存在则显示

浏览器请求的ip和端口号

$proxy_host

默认80端口不显示,其它显示

被代理服务的ip和端口号

# 标准配置示例

代码语言:javascript
复制
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;
    }
}

# 参考资料

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-07-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 用途
  • # 配置说明
  • # 标准配置示例
  • # 参考资料
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档