XFF 原始 IP 偵測擴充功能 (proto)

extensions.http.original_ip_detection.xff.v3.XffConfig

[extensions.http.original_ip_detection.xff.v3.XffConfig proto]

此擴充功能允許透過讀取 x-forwarded-for 標頭來偵測原始的下游遠端 IP。

此擴充功能的完整名稱為 envoy.http.original_ip_detection.xff

注意

此擴充功能旨在針對不受信任的下游流量保持強健。它假設上游是受信任的。

提示

此擴充功能擴展了以下擴充功能類別並可與之一起使用

必須使用以下類型 URL 之一來配置此擴充功能

{
  "xff_num_trusted_hops": ...,
  "xff_trusted_cidrs": {...},
  "skip_xff_append": {...}
}
xff_num_trusted_hops

(uint32) 從 x-forwarded-for HTTP 標頭右側開始,在判斷原始用戶端 IP 位址時要信任的其他入口代理躍點數。如果未指定此選項,則預設值為零。有關更多資訊,請參閱 x-forwarded-for 的文件。

只能設定 xff_num_trusted_hopsxff_trusted_cidrs 其中之一。

xff_trusted_cidrs

(extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs) 在評估遠端 IP 位址以判斷原始用戶端 IP 位址時要信任的 CIDR 範圍。這用於取代 use_remote_address。當遠端 IP 位址符合受信任的 CIDR 且已傳送 x-forwarded-for 標頭時,x-forwarded-for 標頭中的每個條目都會從右到左進行評估,並且第一個公共的非受信任位址將用作原始用戶端位址。如果 x-forwarded-for 中的所有位址都在受信任清單中,則會使用第一個 (最左邊) 條目。

當請求由 CDN 代理時,通常會使用此選項。

只能設定 xff_num_trusted_hopsxff_trusted_cidrs 其中之一。

skip_xff_append

(BoolValue) 如果設定,Envoy 將不會將遠端位址附加到 x-forwarded-for HTTP 標頭。

注意

為了正確的代理行為,不建議設定此選項。為了向後相容性,如果未設定此選項,則預設為 true。

這僅在 use_remote_address 為 false 時適用,否則 skip_xff_append 適用。

extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs

[extensions.http.original_ip_detection.xff.v3.XffTrustedCidrs proto]

{
  "cidrs": []
}
cidrs

(repeated config.core.v3.CidrRange) 遠端連線被視為受信任的 CIDR 清單。