Nginx中roxy_set_header与add_header区别举例浅析

 更新时间:2024年04月02日 10:51:06   作者:Wang's Blog  
proxy_set_header是一个 Nginx 配置指令,用于设置将要转发到后端服务器的 HTTP 请求头,这篇文章主要给大家介绍了关于Nginx中roxy_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 地址和请求链中的代理信息

2 ) 示例

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 在需要向客户端发送额外信息或增强安全性的情况下使用

总结 

到此这篇关于Nginx中roxy_set_header与add_header区别的文章就介绍到这了,更多相关Nginx proxy_set_header与add_header区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nginx文件上传限制以及超时无响应问题的解决

    nginx文件上传限制以及超时无响应问题的解决

    小编最近开发前后端分离项目遇到一些问题,后端服务是基于80/443端口反向代理的,所以请求会经过nginx网关,然后将请求代理到后端服务,这是开发环境,所以本文小编给大家介绍了解决nginx文件上传限制和超时无响应,需要的朋友可以参考下
    2025-04-04
  • 使用nginx实现ssh跳板机方式

    使用nginx实现ssh跳板机方式

    文章介绍了如何使用Docker Compose在跳板机上安装Nginx,并配置Nginx作为TCP流量的转发器,文中提到配置NGINX支持STREAM模块,并在`nginx.conf`文件中添加stream块来实现TCP流量转发,需要注意的是,该方法不适合生产环境,存在安全风险
    2026-01-01
  • nginx中如何配置proxy_pass

    nginx中如何配置proxy_pass

    这篇文章主要介绍了nginx中如何配置proxy_pass问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • nginx配置请求转发不生效的实现

    nginx配置请求转发不生效的实现

    本文主要介绍了nginx配置请求转发不生效的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • nginx全局块的user指令的实现示例

    nginx全局块的user指令的实现示例

    user用于配置运行Nginx服务器的worker进程的用户和用户组,本文主要介绍了nginx全局块的user指令的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2024-07-07
  • nginx配置安装免费证书的方法步骤

    nginx配置安装免费证书的方法步骤

    HTTPS可以有效的防止数据被窃听和篡改,本文主要介绍了nginx配置安装免费证书的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Nginx日志配置的使用及说明

    Nginx日志配置的使用及说明

    这篇文章主要介绍了Nginx日志配置的使用及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • nginx proxy_cache批量清除缓存的脚本介绍

    nginx proxy_cache批量清除缓存的脚本介绍

    今天小编就为大家分享一篇关于nginx proxy_cache批量清除缓存的脚本介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • nginx中alias和root的区别详解

    nginx中alias和root的区别详解

    本文详细讲解了Nginx配置中root和alias的区别与使用场景,root会将请求路径拼接到指定目录后,而alias会替换location匹配的前缀路径,下面就来详细的介绍一下两者的区别,感兴趣的可以了解一下
    2026-01-01
  • Nginx配置HTTP强制跳转到HTTPS的解决办法

    Nginx配置HTTP强制跳转到HTTPS的解决办法

    这篇文章主要给大家介绍了关于Nginx配置HTTP强制跳转到HTTPS的解决办法,当Nginx配置https后通常需要将用户http请求强制跳转到https,需要的朋友可以参考下
    2023-08-08

最新评论