啟用 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
- 在 CIS 主控台中,導覽到安全性區段。
- 選取範圍索引標籤。
- 找出將使用 PROXY 通訊協定的應用程式,然後按一下 配置。
- 從功能表中,選取 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
- 在 CIS 主控台中,導覽到安全性區段。
- 選取範圍索引標籤。
- 找出將使用 Proxy 通訊協定的應用程式,然後按一下 配置。
- 從功能表中,選取 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 通訊協定」指出您的原點也必須將相同標頭 (包括原始用戶端來源資訊) 的用戶端所適用的封包附加到前面。 這樣做是為了驗證傳入的封包實際上是要供用戶端使用。