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_hops
和xff_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_hops
和xff_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 清單。