tft每日頭條

 > 生活

 > nginx移除轉發配置

nginx移除轉發配置

生活 更新时间:2024-07-22 19:24:49
簡介

有些應用需要驗證請求和響應的頭部信息。而現在的架構基本都會在前端使用nginx進行轉發。如果沒有處理頭部信息,就會導緻信息丢失,無法通過驗證,出現403等請求異常的情況。


nginx移除轉發配置(nginx轉發-頭部信息處理)1


nginx指令proxy_set_header和add_header

proxy_set_header和add_header是nginx處理頭部信息的指令


nginx移除轉發配置(nginx轉發-頭部信息處理)2


proxy_set_header是處理轉發的請求頭給後端

後端需要獲取真實的遠端IP,可以通過X-Real-IP進行設置

proxy_set_header X-Real-IP $remote_addr;

X-Real-IP是一個自定義頭。X-Real-Ip 通常被 HTTP 代理用來表示與它産生 TCP 連接的設備 IP,這個設備可能是其他代理,也可能是真正的請求端。需要注意的是,X-Real-Ip 目前并不屬于任何标準,代理和 Web 應用之間可以約定用任何自定義頭來傳遞這個信息

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

X-Forwarded-For 是一個擴展頭。HTTP/1.1(RFC 2616)協議并沒有對它的定義,它最開始是由 Squid 這個緩存代理軟件引入,用來表示 HTTP 請求端真實 IP,現在已經成為事實上的标準,被各大 HTTP 代理、負載均衡等轉發服務廣泛使用,并被寫入 RFC 7239(Forwarded HTTP Extension)标準之中.

X-Forwarded-For請求頭格式非常簡單: X-Forwarded-For:client, proxy1, proxy2

也有可能需要再處理域名,也需要講Host字段傳遞給後端

proxy_set_header Host $host;

add_header是nginx響應給浏覽器的頭部信息


nginx移除轉發配置(nginx轉發-頭部信息處理)3


将後端的請求頭,返回到浏覽器中

add_header Access-Control-Allow-Headers $http_access_control_request_headers;

頭信息限制

nginx對頭部信息做了限制,不能含有下劃線,可以用駝峰式的命名,或者用 - ,如果含有下劃線的頭信息默認會直接被丢棄。

也可以通過設置參數修改這個限制,直接http配置節加上

underscores_in_headers on;


nginx移除轉發配置(nginx轉發-頭部信息處理)4

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved