Nginx中roxy_set_header与add_header区别

2024-05-11 17:34:24 2646

Nginx中roxy_set_header与add_header区别


蓝队云小课堂:

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

更多小知识,可联系蓝队云一起探讨。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: