咨询热线:4006-75-4006
售前:9:00-23:30 备案:9:00-18:00 技术:7*24h
蓝队云小课堂:
add_header
add_header 用来在 Nginx 发送响应给客户端之前添加或覆盖 HTTP 响应头。它主要用于添加一些自定义的响应头字段,如安全相关的头字段 (Content-Security-Policy, X-XSS-Protection 等) 或者缓存控制相关的头字段 (Cache-Control)。
示例用法:
server {
listen 80;
server_name example.com;
location / {
add_header Content-Security-Policy "default-src 'self'; script-src 'self' cdn.example.com";
add_header X-XSS-Protection "1; mode=block";
add_header Cache-Control "max-age=3600, public";
# 其他配置...
}
}
proxy_set_header
proxy_set_header 则是在 Nginx 将请求转发给后端服务器之前设置 HTTP 请求头。它的主要用途是将某些客户端信息或者自定义信息传递给后端服务,例如客户端的真实 IP 地址、HTTP 方法等。
示例用法:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://www.landui.com;
# 设置 X-Real-IP 和 X-Forwarded-For 头部
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 其他配置...
}
}
主要区别:
1.作用对象不同:
add_header 用于修改 Nginx 发送给客户端的响应头。
proxy_set_header 用于修改 Nginx 发送给后端服务器的请求头。
2.使用场景不同:
add_header 通常用于添加安全策略、缓存控制或其它客户端可见的元数据。
proxy_set_header 通常用于传递客户端信息或自定义信息给后端服务器,比如客户端的真实 IP 地址、原始请求方法等。
3.影响范围不同:
add_header 影响最终到达客户端的响应。
proxy_set_header 影响发送给后端服务器的请求。
总结
使用 add_header 来添加或覆盖响应头,适用于添加安全策略、缓存控制等客户端可见的信息。
使用 proxy_set_header 来设置转发请求时的请求头,适用于向后端服务器传递客户端信息。
更多小知识,可联系蓝队云一起探讨。