proxy_set_header
?與?add_header
?是 Nginx 中兩個用于操作 HTTP 頭部信息的指令,但作用方向和使用場景完全不同。以下是兩者的核心區別:
核心區別概述
? ?特性 | proxy_set_header | add_header |
---|---|---|
作用方向 | ??請求頭(Request Headers)?→ 后端服務器 | ??響應頭(Response Headers)?→ 客戶端瀏覽器 |
目標對象 | 后端上游服務器 | 終端用戶瀏覽器 |
主要用途 | 修改/添加發往后端的請求頭信息 | 添加/覆蓋返回給客戶端的響應頭信息 |
數據流向 | Nginx → 后端服務器 | 后端服務器 → Nginx → 客戶端 |
常見變量 | $remote_addr ,?$host ,?$uri ?等 | 固定值、環境變量或后端返回的數據 |
應用場景 | 反向代理、負載均衡、后端路由決策 | 安全防護、跨域控制、緩存策略、API 元數據標注 |
調試方法 | 檢查后端收到的請求頭 | 通過瀏覽器開發者工具查看響應頭 |