Nginx中roxy_set_header與add_header區(qū)別
藍(lán)隊(duì)云小課堂:
proxy_set_header是一個(gè) Nginx 配置指令,用于設(shè)置將要轉(zhuǎn)發(fā)到后端服務(wù)器的 HTTP 請(qǐng)求頭,這里主要給大家介紹了關(guān)于Nginx中roxy_set_header與add_header區(qū)別
proxy_set_header
1)概述
proxy_set_header和add_header是Nginx配置中兩個(gè)不同的指令, 它們各自有不同的用途
proxy_set_header 指令用于修改轉(zhuǎn)發(fā)到代理服務(wù)器(通常是后端應(yīng)用服務(wù)器)的HTTP請(qǐng)求頭
它允許您設(shè)置或覆蓋請(qǐng)求頭中的字段,以便后端服務(wù)器能夠接收正確的信息或根據(jù)這些信息做出響應(yīng)
例如,有時(shí)可能會(huì)使用proxy_set_header來(lái)設(shè)置Host頭,這樣后端服務(wù)器就知道它正在為哪個(gè)域名提供服務(wù)
有時(shí)候,還可以設(shè)置X-Real-IP和X-Forwarded-For頭來(lái)傳遞客戶端的真實(shí)IP地址和請(qǐng)求鏈中的代理信息
2)示例
location / {
proxy_pass http://www.tjdsmy.cn_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發(fā)出的HTTP響應(yīng)中添加或覆蓋響應(yīng)頭字段
這通常用于添加自定義的頭部信息,如跨域資源共享(CORS)的頭部,或者為響應(yīng)添加安全相關(guān)的頭部(如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";
}
兩者區(qū)別
方向:proxy_set_header修改的是請(qǐng)求頭(request header),而add_header修改的是響應(yīng)頭(response header)
目標(biāo):proxy_set_header的目標(biāo)是后端服務(wù)器,用于通知后端關(guān)于請(qǐng)求的一些信息;而 add_header 的目標(biāo)是客戶端,用于向客戶端提供額外的信息或指令
使用場(chǎng)景:proxy_set_header通常在反向代理配置中使用,確保后端服務(wù)器能正確處理請(qǐng)求;而add_header在需要向客戶端發(fā)送額外信息或增強(qiáng)安全性的情況下使用。
更多小知識(shí),可聯(lián)系藍(lán)隊(duì)云一起探討。