网站首页 > 博客文章 正文
简介
有些应用需要验证请求和响应的头部信息。而现在的架构基本都会在前端使用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;
猜你喜欢
- 2025-01-24 Nginx高级篇:从原理到实战,彻底搞懂Nginx
- 2025-01-24 Nginx 全面攻略:动静分离、压缩、缓存、黑白名单、跨域、高可用
- 2025-01-24 Linux中内网或者没网时安装软件的两种方式
- 2025-01-24 Nginx的学习,完全了解Nginx(nginx最全教程)
- 2025-01-24 Nginx完全指南--内容解析(七)(nginx1)
- 2025-01-24 记一次nginx无法转发到后端的问题
- 2025-01-24 Nginx 域名与证书配置详解(nginx和域名配置)
- 2025-01-24 写给高级前端的 Nginx 知识,一网打尽
- 2025-01-24 ingress-nginx常用注解指南(nginx ingress部署与测试)
- 2025-01-24 C++后端开发必须彻底搞懂Nginx,从原理到实战(高级篇)
你 发表评论:
欢迎- 最近发表
-
- 解决Win10打开软件提示“服务器没有及时响应或控制请求”
- 用友UAP解开非结构化大数据处理与分析的密码
- Windows 25H2 修复底层崩溃(windows修复环境)
- 开源技巧:使用Docker实现交互式任务
- Win11 任意版本 直接安装 Android 应用 教程完整版
- Windows Terminal已成为Windows 11操作系统的默认终端
- 那些好莱坞电影中炫酷的特效 原来是这么拍的
- Windows 10 Build 21327.1010发布:测试服务管道更新
- Made in China: The story behind the label
- PowerShell登录远程Linux系统(powershell开启远程桌面)
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- googlecloud (64)
- flutterrun (59)
- 系统设计图 (58)
- powershellfor (73)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- qcombobox样式表 (68)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)