啟用 Proxy 通訊協定

IBM Cloud Internet Services 會在將封包轉遞至伺服器之前截取封包,因此如果您查閱用戶端 IP,則會看到 CIS的 IP,而不是真正的用戶端 IP。 不過,您執行的部分服務可能需要您知道真正的用戶端 IP。 在這些情況下,您可以使用 CIS 的 Proxy 通訊協定,將用戶端 IP 傳遞至您的服務。

傳送 Proxy 資訊取決於是否使用 TCP 或 UDP。 對於 TCP,Range 支援新增 Proxy 通訊協定 v1,這是 Amazon ELB 和 NGINX 支援的人類可讀版本。 對於 UDP 應用程式,CIS 已開發稱為「簡易 Proxy 通訊協定」的自訂 Proxy 通訊協定。

此特性需要企業方案。 如果您想要升級,請聯絡您的帳戶團隊。 如需詳細資訊,請參閱 比較 CIS 計劃

啟用 TCP 的代理通訊協定 v1

  1. 在 CIS 主控台中,導覽到安全性區段。
  2. 選取範圍索引標籤。
  3. 找出將使用 PROXY 通訊協定的應用程式,然後按一下 配置
  4. 從功能表中,選取 PROXY 通訊協定 v1

當 TCP 應用程式配置為使用 Proxy 通訊協定 v1時,CIS 會在每一個入埠 TCP 連線之前加上 Proxy 通訊協定純文字標頭。

Proxy 通訊協定 v1 標頭

代理通訊協定會在每個連線前加上報告用戶端 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 通訊協定線路範例:

PROXY TCP4 192.0.2.0 192.0.2.255 42300 443\r\n

下列是 IPv6 位址的 Proxy 通訊協定線路範例:

PROXY TCP6 2001:db8:: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff 42300 443\r\n

針對 TCP/UDP 啟用 Proxy 通訊協定 v2

  1. 在 CIS 主控台中,導覽到安全性區段。
  2. 選取範圍索引標籤。
  3. 找出將使用 Proxy 通訊協定的應用程式,然後按一下 配置
  4. 從功能表中,選取 PROXY 通訊協定 v2

當 TCP 應用程式配置為使用 Proxy 通訊協定 v2時,CIS 會在每一個入埠 TCP 連線前面加上 Proxy 通訊協定二進位標頭。

當 UDP 應用程式配置為使用 PROXY 通訊協定 v2時,CIS 會在串流上的第一個 UDP 資料封包前面加上 Proxy 通訊協定二進位標頭。

Proxy 通訊協定 v2 標頭

代理通訊協定會在每個連線前加上報告用戶端 IP 位址和連接埠的標頭。

IPv4 送入位址的 Proxy 通訊協定二進位標頭具有下列格式:

0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                  Proxy Protocol v2 Signature                  |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|Command|   AF  | Proto.|         Address Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      IPv4 Source Address                      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                    IPv4 Destination Address                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Source Port          |        Destination Port       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

IPv6 送入位址的 Proxy 通訊協定二進位標頭具有下列格式:

0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                  Proxy Protocol v2 Signature                  |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version|Command|   AF  | Proto.|         Address Length        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                      IPv6 Source Address                      +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                    IPv6 Destination Address                   +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Source Port          |        Destination Port       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

啟用 UDP 的簡易 Proxy 通訊協定

使用 UDP 時,可以使用簡易 Proxy 通訊協定 (專為 UDP 開發的輕量型通訊協定) 來取得用戶端來源 IP 及埠資訊。

如果要啟用它,請在 Range 應用程式上按一下 配置,並將 簡易 Proxy 通訊協定 的設定切換為 On

「簡式 Proxy 通訊協定」指出您的原點也必須將相同標頭 (包括原始用戶端來源資訊) 的用戶端所適用的封包附加到前面。 這樣做是為了驗證傳入的封包實際上是要供用戶端使用。