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区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决国内k8s的ingress-nginx镜像无法正常pull拉取问题
本文主要介绍了解决国内k8s的ingress-nginx镜像无法正常pull拉取问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-03-03Nginx 实现 TCP/DUP流量按 IP 动态转发操作方法
为优化网络性能和提升服务可用性,通过Nginx配置stream模块根据客户端IP地址动态转发TCP请求至不同后端服务器节点,适用于数据库代理、TCP服务负载均衡及地域或来源IP分流的流量调度等场景,本文给大家介绍Nginx 实现 TCP/DUP流量按 IP 动态转发的操作2024-10-10
最新评论