proxy_set_header
与 add_header
是 Nginx 中两个用于操作 HTTP 头部信息的指令,但作用方向和使用场景完全不同。以下是两者的核心区别:
核心区别概述
特性 | proxy_set_header | add_header |
---|---|---|
作用方向 | ✅ 请求头(Request Headers) → 后端服务器 | ✅ 响应头(Response Headers) → 客户端浏览器 |
目标对象 | 后端上游服务器 | 终端用户浏览器 |
主要用途 | 修改/添加发往后端的请求头信息 | 添加/覆盖返回给客户端的响应头信息 |
数据流向 | Nginx → 后端服务器 | 后端服务器 → Nginx → 客户端 |
常见变量 | $remote_addr , $host , $uri 等 | 固定值、环境变量或后端返回的数据 |
应用场景 | 反向代理、负载均衡、后端路由决策 | 安全防护、跨域控制、缓存策略、API 元数据标注 |
调试方法 | 检查后端收到的请求头 | 通过浏览器开发者工具查看响应头 |