在使用Proxy 伺服器時,原始串連的參數(如原始IP地址、原始連接埠等)可能會丟失,因為Proxy 伺服器會重新封裝並轉寄請求,導致目標伺服器只能看到Proxy 伺服器的資訊,而PROXY Protocol通過在串連建立初期傳遞用戶端的真實資訊來解決這一問題,從而提高安全性、準確性和合規性。
協議介紹
PROXY Protocol協議用於在TCP串連建立時擷取用戶端的真實IP地址。需要您在控制台選擇該協議,功能開啟後,加速伺服器和來源站點將建立TCP串連,並在發送使用者請求前,先通過PROXY Protocol協議傳遞用戶端IP資訊。
協議差異
協議 | PROXY Protocol v1 | PROXY Protocol v2 |
格式 | ASCII文字格式設定。 | 二進位格式。 |
支援協議 | 支援TCP。 | 支援TCP和UDP。 |
安全性 | 無加密或認證機制,資料容易被篡改,安全性相對較低。 | 引入了TLS握手資訊,安全性較高。 |
靈活性 | 固定格式,擴充性有限,靈活性較低。 | 可變長度,支援多種擴充資訊,靈活性較高。 |
情境 | 只需要簡單的 TCP 代理並且對安全性要求不高,可以選擇 | 需要支援 TCP或者需要更高的安全性,建議使用 |
TCP啟用代理協議PROXY Protocol v1
ESA 會在每個入站 TCP 串連的前面添加代理協議 PROXY Protocol v1標題。
在ESA控制台,選擇網站管理,在站点列單擊目標網站。
在左側導覽列,選擇。
單擊建立應用,配置四層應用參數。將代理規則地區的協議設定為TCP、用戶端IP傳遞設定為PROXY Protocol v1。

單擊確認。
代理協議 PROXY Protocol v1標題
PROXY Protocol 協議在每個串連的開頭附加一個純文字標題,用於報告用戶端的 IP 位址和連接埠號碼。格式為:
PROXY_STRING + single space + INET_PROTOCOL + single space + CLIENT_IP + single space + PROXY_IP + single space + CLIENT_PORT + single space + PROXY_PORT + "\r\n"IPv4地址的樣本:
PROXY TCP4 10.10.10.10 192.168.0.1 12345 80\r\nIPv6地址的樣本:
PROXY TCP6 2001:db8:: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff 12345 443\r\n參數 | 說明 |
PROXY | 協議標題。 |
TCP4 | 傳輸協議。 |
TCP6 | |
10.10.10.10 | 用戶端真實IP地址。 |
2001:db8:: | |
192.XXX.0.1 | 目標伺服器的IP地址。 |
2001:db8:ffff:ffff:ffff:ffff:ffff:ffff | |
12345 | 用戶端源連接埠號碼。 |
80 | 目標伺服器連接埠號碼。 |
443 | |
\r\n | 標題的結束。 |
TCP啟用代理協議PROXY Protocol v2
邊緣安全加速 ESA會在每個入站 TCP 串連的前面添加代理協議 PROXY Protocol v2 標題。
在ESA控制台,選擇網站管理,在站点列單擊目標網站。
在左側導覽列,選擇。
單擊建立應用,配置四層應用參數。將代理規則地區的協議設定為TCP、用戶端IP傳遞設定為PROXY Protocol v2。

單擊確認。
代理協議 PROXY Protocol v2 標題
PROXY 協議在每個串連的開頭附加一個報告用戶端地址和連接埠的標題。
IPv4地址的PROXY 協議二進位標題格式:

IPv6地址的PROXY 協議二進位標題格式:
