Nginx: proxy_set_header 与 add_header 区别

proxy_set_header


1 )概述

  • proxy_set_header 和 add_header 是 Nginx 配置中两个不同的指令, 它们各自有不同的用途
  • proxy_set_header 指令用于修改转发到代理服务器(通常是后端应用服务器)的 HTTP 请求头
  • 它允许您设置或覆盖请求头中的字段,以便后端服务器能够接收正确的信息或根据这些信息做出响应
  • 例如,有时可能会使用 proxy_set_header 来设置 Host 头,这样后端服务器就知道它正在为哪个域名提供服务
  • 有时候,还可以设置 X-Real-IP 和 X-Forwarded-For 头来传递客户端的真实 IP 地址和请求链中的代理信息

示例

location / {  
    proxy_pass http://backend_servers;  
    proxy_set_header Host $host;  
    proxy_set_header X-Real-IP $remote_addr;  
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
}

add_header


1 ) 概述

  • add_header 指令用于向 Nginx 发出的 HTTP 响应中添加或覆盖响应头字段
  • 这通常用于添加自定义的头部信息,如跨域资源共享(CORS)的头部,或者为响应添加安全相关的头部(如 X-Content-Type-Options)

2 ) 示例

location / {  
    # ... 其他配置 ...  
    add_header X-Content-Type-Options nosniff;  
    add_header X-Frame-Options DENY;  
    add_header X-XSS-Protection "1; mode=block";  
}

两者区别

  • 方向:proxy_set_header 修改的是请求头(request header),而 add_header 修改的是响应头(response header)
  • 目标:proxy_set_header 的目标是后端服务器,用于通知后端关于请求的一些信息;而 add_header 的目标是客户端,用于向客户端提供额外的信息或指令
  • 使用场景:proxy_set_header 通常在反向代理配置中使用,确保后端服务器能正确处理请求;而 add_header 在需要向客户端发送额外信息或增强安全性的情况下使用

相关推荐

  1. nacoseureka区别

    2024-04-02 02:04:02       61 阅读
  2. floatdouble区别

    2024-04-02 02:04:02       51 阅读
  3. ArrayList LinkedList 区别

    2024-04-02 02:04:02       53 阅读
  4. WSLVirtualBox区别

    2024-04-02 02:04:02       41 阅读
  5. IBatisMyBatis区别

    2024-04-02 02:04:02       43 阅读
  6. @Autowired@Resource区别

    2024-04-02 02:04:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 02:04:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 02:04:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 02:04:02       87 阅读
  4. Python语言-面向对象

    2024-04-02 02:04:02       96 阅读

热门阅读

  1. Open CASCADE学习|Standard_EXPORT

    2024-04-02 02:04:02       36 阅读
  2. 保研机试算法训练个人记录笔记(六)——模拟

    2024-04-02 02:04:02       33 阅读
  3. 如何在Python中实现多线程和多进程?

    2024-04-02 02:04:02       32 阅读
  4. Redis中是如何初始化服务器的?

    2024-04-02 02:04:02       35 阅读