nginx(六十五)proxy模块(六)处理上游的响应头部

news2025/8/17 4:30:16

一  处理上游的响应头部

重点: 生成了响应内容准备'向客户端发送'的时候,响应内容必须经过'过滤模块'的处理

补充: 要关注'默认'行为

(1)禁用上游响应头对nginx的影响

①  proxy_ignore_headers

应用层如何控制nginx

背景: 上游的一些'response_header'是可以'改变作为反向代理的nginx的行为'

场景: 想'忽略'这些响应头对'nginx行为'的响应

注意: 仅仅是'取消'对'nginx行为'的影响, 是否'转发给'客户端取决于'proxy_hide_header'

说明: nginx'是否'缓存是由'nginx缓存服务器'与'源服务器'共同决定的
 
1) proxy_ignore_headers  "Expires" "Cache-Control"  "Vary";
 
解读: 如果'上游服务器(源站)' Cache-Control、"Expires" 、Vary响应头,避免影响到nginx缓存
 
2) proxy_ignore_headers Set-Cookies
 
场景: 避免客户端把'失效的Cookie'缓存下来

 (2)是否转发上游的特定响应头 

②  proxy_hide_header

说明: 不向'client'发送这些响应头

背景:返回给'客户端'响应头中'包含一些后端信息',虽然'不影响'用户体验,但可能'泄露'隐私信息;
 
1)了解nginx的默认行为,'自动'隐藏上游服务器的哪些'response header';
 
2)除了上述的,可以通过配置'(增加其它响应头)','主动'隐藏其它'response header';

3)隐藏'hide'的效果是:nginx不会把'这些响应头'发送给client

思考: 为什么默认要'隐藏Date'和'Server'响应头? --> '上游的信息'

  

③  proxy_pass_header

细节点: proxy_pass_hider'(后执行)'的优先级'高于'proxy_hide_header

(3)修改上游返回的Set-Cookie响应头

④  知识铺垫

cookie问题汇总  nginx跨域配置  Cookie头的属性

④   proxy_cookie_domain

说明: 修改上游'Set-Cookies'响应头内容,修改'域名'

补充: 该指令也涉及'PCRE'正则

细节点:
 
  1) 如果'proxy server'中'Set-Cookie'没有"domain属性"或者有"domain属性"但是不匹配则'nginx'不做"domain"操作
 
  2) proxy_cookie_domain负责的'只是处理response Set-cookie头中的domain属性',仅此而已

 proxy_cookie_domain的误区

 proxy_cookie_domain应用场景

⑤   proxy_cookie_path

 

'前后段分离':console nginx设置了cookie path,cookie缓存'导致403',删除cookie path
 
策略:proxy_cookie_path / "/;secure"

⑥  proxy_cookie_flags

作用: 对含义特定'key'的Set-Cookies响应头,对该Set-Cookies响应头'flags'进行'增、删'操作

Cookie samesite简析  应用场景  Cookies  Cookie的secure属性  

Cookie中的httponly的属性和作用、httponly属性

nginx 反向代理 解决 Cookie 跨域问题

(3)修改返回的Location响应头 

⑦  proxy_redirect 

说明: 修改上游的'Location'响应头

案例参考  HTTP重定向 

++++++++++ 将被代理服务器发出的'重定向'http协议的location改为https协议 ++++++++++

⑧  B站的资源

nginx对哪些HTTP头另眼相看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/33102.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【电力系统】CJAYA算法优化光伏模型SDM参数附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

Spring源码深度解析:九、bean的获取② - createBeanInstance

createBeanInstance()的流程图如下,让我们根据流程图一步一步的学习一下spring是如何创建bean的吧 一、前言 文章目录:Spring源码分析:文章目录 这篇文章应该是接着 Spring源码深度解析:八、bean的获取② - getSingleton 的继续分析过程。…

Eolink自动全代码注释自动上传API

目录 一、自动全代码注释 测试环境 Eolink Apikit安装 1、自建bootstrap项目用作测试 2、点击【File】->【Settings...】 3、搜索并安装【Eollink ApiKit】 4、添加eo注释 5、注释效果 二、一键上传API 1、配置服务信息 2、Server获取 3、SpaceKey获取 4、Proj…

C++回溯法leetcode练习集

文章目录什么是回溯法回溯法的模板组合组合总和|||洛谷刷题-八皇后问题题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示解析:电话号码的字母组合组合总和组合总和II分割回文串复原IP地址小结子集子集||递增子序列全排列全排列||842排列数字皇后问题什么…

BGP进阶:BGP 综合实验一

BGP路由优选规则 BGP是一个应用非常广泛的边界网关路由协议,被部署于大型的网络环境中。它能够支持大规模的网络,能够运载IP骨干网络中大批量的路由前缀并且在AS之间灵活的传递。BGP拥有丰富的路径属性,以及路由策略部署工具,正是…

win10家庭版安装Docker

首先查看你的电脑里面是否是win10且没有Hyper-V,是的话,那这个教程就是给你的啦~ 1、安装Hyper-v 首先将下面的内容复制到新建的txt中,将txt更名为Hyper-V.cmd,右键管理员运行这个文件 pushd "%~dp0"dir /b %SystemRoot%\servici…

为了提前预测比赛结果,于是我用Python获取比赛球员数据进行分析,结果...

为了提前预测比赛结果,于是我用Python获取比赛球员数据进行分析,结果...前因后果准备工作实现步骤代码展示部分效果展示最后前因后果 最近不是世界杯嘛,但是太忙了实在没时间看,于是为了凑热闹,用Python把本次球员信息…

AQS源码解析 5.Condition条件队列 await() signal() 核心方法

AQS源码解析—Condition条件队列 await() & signal() 核心方法 简介 在 Condition 条件队列中使用的也是 AQS 中的 Node 结构,它并没有使用 prev 和 next 属性,而使用的是 nextWaiter 去实现了一个单向链表的结构: Node nextWaiter;流…

MySQL索引和事务

目录 1.索引 1.1 索引的作用 1.2 查看索引 1.3 创建索引 1.4 删除索引 1.5 索引背后的数据结构(重点、面试题) 2.事务 2.1 什么是事务? 2.2 事务的使用 2.2.1 回滚 2.2.2 执行 2.3 事务的原子性(事务的初心) 2.4 事务的一致性 2.5 事务的持久性 2.6 事务的隔离性…

STM32之蜂鸣器实验

本章知识点 STM32GPIO的应用 蜂鸣器的原理(最好网上看看) 蜂鸣器概述 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作…

CFD基本概念

1、流动控制方程 2、流体力学中的流动模型及流场解 N-S方程→(忽略粘性与热扩散)→Euler方程→(无旋)→全速位方程→(小扰动)→小扰动方程→(不可压)→labplace方程; 数…

【机器学习】python实现随机森林

目录 一、模型介绍 1. 集成学习 2. bagging 3. 随机森林算法 二、随机森林算法优缺点 三、代码实现 四、疑问 五、总结 本文使用mnist数据集,进行随机森林算法。 一、模型介绍 1. 集成学习 集成学习通过训练学习出多个估计器,当需要预测时通过…

[附源码]SSM计算机毕业设计流浪动物救助网站JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【百度AI_人脸识别】图片对比相似度、人脸对比登录(调摄像头)

人脸对比 此文档功能: 两张人脸图片相似度对比:比对两张图片中人脸的相似度,并返回相似度分值。存档一张图片与调用的摄像中的人脸进行对比。项目、资源下载:https://download.csdn.net/download/m0_70083523/87150842?spm1001.2…

编译原理—语法制导翻译、S属性、L属性、自上而下、自下而上计算

编译原理—语法制导翻译、S属性、L属性、自上而下、自下而上计算1.语法制导翻译1.1属性文法1.2算术表达式的计数器1.3属性的分类1.4属性依赖图继承属性的计算1.5语义规则的计算方法1.6属性计算次序2. S属性定义2.1 语法树与分析树2.2 语法树与DAG2.2.1构造表达式的语法树(DAG)2…

Android中常见的那些内存泄漏——【问题分析+方案】

1.静态Activity(Activity上下文Context)和View 静态变量Activity和View会导致内存泄漏,在下面代码中对Activity的Context和TextView设置为静态对象,从而产生内存泄漏; public class MemoryTestActivity extends AppCompatActivity {private…

[附源码]SSM计算机毕业设计健身健康规划系统JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

noexcept说明符/运算符

一、noexcept说明符 1、语法 (1)noexcept 与 noexcept(true) 相同 (2)noexcept(表达式) 如果 表达式 求值为 true,那么声明函数不会抛出任何异常。 (3)throw() //c1…

Ubuntu配置FTP服务

参考目录1.安装FTP服务器软件2.配置FTP服务3.Ubuntud登录ftp服务器4.windows下通过cuteFTPlianjei1.安装FTP服务器软件 (1) FTP文件传送协议(File Transfer Protocol,简称FTP),是一个用于从一台主机到另一台主机传输文件的协议。 (2)Linux下有…

Jetpack 之 LiveData 实现事件总线

事件总线相信大家很多时候都会用到,那大家常用的也就是常青树 EventBus,以及 RxJava 流行起来的后起之秀 RxBus。它们的使用方式都差不多,思想也都是基于观察者模式,正好 LiveData 的核心思想也是观察者模式,因此我们完…