网站首页 > 技术教程 正文
简介
有些应用需要验证请求和响应的头部信息。而现在的架构基本都会在前端使用nginx进行转发。如果没有处理头部信息,就会导致信息丢失,无法通过验证,出现403等请求异常的情况。
nginx指令proxy_set_header和add_header
proxy_set_header和add_header是nginx处理头部信息的指令
proxy_set_header是处理转发的请求头给后端
后端需要获取真实的远端IP,可以通过X-Real-IP进行设置
proxy_set_header X-Real-IP $remote_addr;
X-Real-IP是一个自定义头。X-Real-Ip 通常被 HTTP 代理用来表示与它产生 TCP 连接的设备 IP,这个设备可能是其他代理,也可能是真正的请求端。需要注意的是,X-Real-Ip 目前并不属于任何标准,代理和 Web 应用之间可以约定用任何自定义头来传递这个信息
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
X-Forwarded-For 是一个扩展头。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP,现在已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中.
X-Forwarded-For请求头格式非常简单: X-Forwarded-For:client, proxy1, proxy2
也有可能需要再处理域名,也需要讲Host字段传递给后端
proxy_set_header Host $host;
add_header是nginx响应给浏览器的头部信息
将后端的请求头,返回到浏览器中
add_header Access-Control-Allow-Headers $http_access_control_request_headers;
头信息限制
nginx对头部信息做了限制,不能含有下划线,可以用驼峰式的命名,或者用 - ,如果含有下划线的头信息默认会直接被丢弃。
也可以通过设置参数修改这个限制,直接http配置节加上
underscores_in_headers on;
猜你喜欢
- 2024-09-22 Nginx proxy_pass 后缀斜杠规则(随手存)
- 2024-09-22 nginx反向代理斜杠“/”问题总是记不住?
- 2024-09-22 nginx配置Proxy Cache缓存的12个指令
- 2024-09-22 nginx配置Proxy Buffer的7个指令(nginx配置 proxy_pass)
你 发表评论:
欢迎- 最近发表
-
- Win10 TH2正式版官方ESD映像转换ISO镜像方法详解
- 使用iso镜像升级到Windows 10的步骤
- macOS Ventura 13.2 (22D49) Boot ISO 原版可引导镜像
- 安利一个用ISO镜像文件制作引导U盘的的小工具RUFUS
- CentOS 7使用ISO镜像配置本地yum源
- 用于x86平台的安卓9.0 ISO镜像发布下载:通吃I/A/N、完全免费
- AlmaLinux 9.6发布:升级工具、初步支持IBM Power虚拟化技术
- Rufus写入工具简洁介绍与教程(写入模式)
- 新硬件也能安装使用了,Edge版Linux Mint 21.3镜像发布
- 开源工程师:Ubuntu应该抛弃32位ISO镜像
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)