百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

nginx proxy_pass 头信息处理(nginxproxypass原理)

haoteby 2025-06-08 21:14 3 浏览

简介

有些应用需要验证请求和响应的头部信息。而现在的架构基本都会在前端使用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;


相关推荐

“你的朋友宁愿听你吐槽,也不想参加你的葬礼”

来源:这里是美国嗨,最近过得还好吗?美国君今天在逛论坛时刷到了一条很热的帖子,了解完背后的故事后顿时觉得很治愈,想分享给大家~今天立冬,希望这些也可以温暖到你们的冬天这是一个组织在伦敦一座桥上立的一块...

浏览器代理插件Proxy SwitchyOmega安装与使用

个人博客:无奈何杨(wnhyang)个人语雀:wnhyang共享语雀:在线知识共享Github:wnhyang-OverviewProxySwitchyOmega轻松快捷地管理和切换多个代理设置...

可靠的IP代理网站大盘点,你用过哪些?

在互联网时代,IP代理成为了很多企业和个人必不可少的工具。无论是为了提升网络安全,还是进行数据抓取,选择一个可靠的IP代理服务至关重要。本文将为大家盘点几家可靠的IP代理网站。1.711Proxy...

三层交换机Super vlan技术Arp-proxy转发收藏

一、作用隔离广播风暴防止病毒攻击控制端口二层互访二、用户需求用户多vlan多IP地址是同一个网段,实现彼此之间二层隔离个别VLAN之间有互访的需求(需要用到对应的subvlan开启ARP代理)...

Docker设置http proxy代理(dockerfile 代理)

需求...

ShardingSphere-Proxy分库分表以及多租户安装使用

需求:你提供SAAS服务,你有你有2个租户(商户),各自的数据进各自的库,而你不希望你的微服务java里默认配置多个租户数据源,数据连接池太多,而且后面动态增加也不方便,诸如此类很多问题。...

nginx proxy_pass 头信息处理(nginxproxypass原理)

简介有些应用需要验证请求和响应的头部信息。而现在的架构基本都会在前端使用nginx进行转发。如果没有处理头部信息,就会导致信息丢失,无法通过验证,出现403等请求异常的情况。...

对话面试官:动态代理是如何实现的?JDK Proxy 和 CGLib 有啥区别?

推荐学习...

Proxy-Lite实战:3步部署+2个案例,轻松掌握轻量级网页自动化

大家好,我是何三,80后老猿,独立开发者一、Proxy-Lite模型概述...

Telegram代理指南:好处及设置步骤

Telegram是一款广受欢迎的通讯软件,它能让你和世界各地的用户进行交流。然而想要访问Telegram却受到限制怎么办?Telegram代理是一个完美的解决方案,它不仅能帮助用户绕过地理限制,还能提...

会Python?那么你一定要试一试mitmproxy

mitmproxy是一款工具,也可以说是python的一个包,使用这个工具可以在命令行上进行抓包(现在也可以在web页面上查看上抓的数据包了),还可以对所抓到的包进行脚本处理,非常有用。和...

IP地址与DNS是什么?搞懂它们,网络再也不卡!

今天聊聊很多人都会遇到的一个基础问题:IP地址和DNS。虽然这两个名词在我们日常上网时经常听到,但很多人可能对它们的具体含义和作用并不清楚。别担心,看完这篇文章你就能搞懂它们的区别和作用!IP地址,简...

十五张图带你快速入门 shardingsphere-proxy

ApacheShardingSphere是一款分布式的数据库生态系统,它包含两大产品:...

好玩的Docker之“NginxProxyManager”自动申请SSL证书教程

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:BIGWEI1992前言:本人一个非著名不专业的业余玩家,也是靠着经常看各种大佬的视频教程学习进步。把自己学习到的一些知识,利用业余时间出一...

Proxy 与 Object.defineProperty 优劣对比?

答:1:Proxy的优势:Proxy可以代理整个对象,而Object.defineProperty只能代理对象的某个属性...