码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • nginx(六十五)proxy模块(六)处理上游的响应头部


    一  处理上游的响应头部

    1. 重点: 生成了响应内容准备'向客户端发送'的时候,响应内容必须经过'过滤模块'的处理
    2. 补充: 要关注'默认'行为

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

    ①  proxy_ignore_headers

    应用层如何控制nginx

    1. 背景: 上游的一些'response_header'是可以'改变作为反向代理的nginx的行为'
    2. 场景: 想'忽略'这些响应头对'nginx行为'的响应
    3. 注意: 仅仅是'取消'对'nginx行为'的影响, 是否'转发给'客户端取决于'proxy_hide_header'

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

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

    ②  proxy_hide_header

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

    1. 背景:返回给'客户端'响应头中'包含一些后端信息',虽然'不影响'用户体验,但可能'泄露'隐私信息;
    2. 1)了解nginx的默认行为,'自动'隐藏上游服务器的哪些'response header';
    3. 2)除了上述的,可以通过配置'(增加其它响应头)','主动'隐藏其它'response header';
    4. 3)隐藏'hide'的效果是:nginx不会把'这些响应头'发送给client
    5. 思考: 为什么默认要'隐藏Date'和'Server'响应头? --> '上游的信息'

      

    ③  proxy_pass_header

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

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

    ④  知识铺垫

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

    ④   proxy_cookie_domain

    1. 说明: 修改上游'Set-Cookies'响应头内容,修改'域名'
    2. 补充: 该指令也涉及'PCRE'正则
    3. 细节点:
    4. 1) 如果'proxy server'中'Set-Cookie'没有"domain属性"或者有"domain属性"但是不匹配则'nginx'不做"domain"操作
    5. 2) proxy_cookie_domain负责的'只是处理response Set-cookie头中的domain属性',仅此而已

     proxy_cookie_domain的误区

     proxy_cookie_domain应用场景

    ⑤   proxy_cookie_path

     

    1. '前后段分离':console nginx设置了cookie path,cookie缓存'导致403',删除cookie path
    2. 策略: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头另眼相看

  • 相关阅读:
    Redis学习笔记2:基于springboot的lettuce redis客户端eagerInitialization提前初始化连接
    HTTP协议详解
    Spring事务处理以及集成Mybatis
    【学习笔记】dp 状态与转移
    单片机IAP固件升级分几步?(Qt上位机)
    ASP.NET Core 6框架揭秘实例演示[40]:基于角色的授权
    Router-view
    SpringMvc请求流程源码解析
    揭秘:为什么那么多公司都要招聘测试开发?
    精心挑选的12 个最佳照片恢复软件列表
  • 原文地址:https://blog.csdn.net/wzj_110/article/details/128021891
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号