码农知识堂 - 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头另眼相看

  • 相关阅读:
    控件交互的优劣势--自动窗帘系统
    MySQL -- DQL
    JDK1.8Stream根据条件过滤出两个List集合中不一样的数据
    windows部署python项目(以Flask为例)到docker,通过脚本一键生成dockerfile并构建镜像启动容器
    深入解析:微软Edge浏览器的防钓鱼与恶意软件保护机制
    vlan+链路聚合实验
    Servlet规范之过滤器Filter
    买卖股票的最好时机(二)
    【云原生持续交付和自动化测试】5.3 持续交付和DevOps实践基础知识
    微信小程序开发 开启
  • 原文地址:https://blog.csdn.net/wzj_110/article/details/128021891
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号