端雲互聯支援基於Kubernetes叢集的代理或者基於SSH和SOCKS協議的代理作為底層代理通道,本文介紹配置代理的常見情境。
前提條件
-
如果您使用Kubernetes代理,需準備如下工作:
您需要在本地準備Kubectl執行環境,可通過Kubectl以及kubeconfig檔案來訪問Kubernetes叢集。
-
如果您使用SSH或SOCKS代理,請完成以下工作:
使用一台可使用SSH登入的ECS,用於建立端雲互聯通道。具體操作,請參見通過控制台使用ECS執行個體(快捷版)。
重要-
請確保該ECS執行個體和需要互聯的應用在同一個VPC內。
-
SSH通道需要使用密碼方式登入,暫不支援使用金鑰組登入。
-
配置Kubernetes代理
-
啟動IntelliJ IDEA。
-
在頂部功能表列中選擇
-
在Settings對話方塊中選擇。
-
在Proxy頁面中單擊AddProfile,產生一個空代理。
-
在Profile Detail地區右側單擊Add。
-
在代理配置對話方塊中設定Kubernetes代理相關內容,單擊OK。
參數
描述
代理類型
選擇Kubernetes代理類型。
設定檔
選擇本地kubeconfig設定檔。
命名空间
選擇Kubernetes叢集中的命名空間,其中Kubernetes叢集預設命名空間為default。
當使用端雲互聯(本地進程啟動模式或本地容器啟動模式)運行您的運行應用時,Cloud Toolkit外掛程式(Alibaba Cloud Toolkit)會在該命名空間下建立一個臨時的代理容器,代理容器將需佔用64MB ~ 128MB的記憶體。當您停止本地應用時,Cloud Toolkit外掛程式會自動清理該代理容器。
說明Cloud Toolkit外掛程式部署的代理容器以etrans-開頭。
配置SSH或SOCKS代理
對於SSH或SOCKS代理,您可配置單個的SSH代理作為底層代理通道;在複雜情境下您也可以串聯多級的SSH或SOCKS代理節點(只需保證最後一級代理為SSH代理即可),外掛程式自動會串聯串連所配置的多級代理節點。
配置單級SSH代理
-
啟動IntelliJ IDEA。
-
在頂部功能表列中選擇
-
在Settings對話方塊中選擇。
-
在Proxy頁面中單擊AddProfile,產生一個空代理。
-
在Profile Detail地區右側單擊Add。
-
在代理配置對話方塊中設定SSH代理帳號及密碼,單擊OK。
參數
描述
代理類型
選擇SSH代理類型。
代理IP和連接埠
輸入代理機的IP和連接埠。
帳號
輸入代理機帳號。
密碼
輸入代理機密碼。
配置多級代理
對於安全要求極高的專案可能會限制對外開放SSH登入,這種情境可利用端雲互聯多級代理能力來構建符合安全合規的代理。
在配置多級代理時,靠近雲端服務的最後一級代理必須配置為SSH代理。

-
啟動IntelliJ IDEA。
-
在頂部功能表列中選擇
-
在Settings對話方塊中選擇。
-
在Proxy頁面中單擊AddProfile,產生一個空代理。
說明多級代理都是基於同一個Profile進行配置,同一個Profile下的代理配置同時生效,多個代理形成級聯。
-
配置SSH代理。
-
在Profile Detail地區右側單擊Add。
-
在代理配置對話方塊中設定SSH代理帳號及密碼,單擊OK。
參數
描述
代理類型
選擇SSH代理類型。
代理IP和連接埠
輸入代理機的IP和連接埠。
帳號
輸入代理機帳號。
密碼
輸入代理機密碼。
-
-
配置SOCKS代理。
-
在Profile Detail地區右側單擊Add。
-
在代理配置對話方塊中設定SOCKS代理IP和連接埠,單擊OK。
參數
描述
代理類型
選擇SOCKS代理類型。
代理IP和連接埠
輸入代理機IP和連接埠。
帳號
輸入代理機帳號,SOCKS代理如無認證可省略此配置。
密碼
輸入代理機密碼,SOCKS代理如無認證可省略此配置。
-
(可選)手動初始化代理
一般情況下,您可通過外掛程式來一鍵完成代理初始化,在初始化過程中需要暫時使用SSH代理所在宿主機的Root許可權來完成配置。完成配置後即可正常使用,並且可重複復用該代理帳號配置,無需重新初始化。外掛程式不會儲存該Root密鑰,也不會用於別的用途。如果您不便於提供Root許可權,那麼可通過如下步驟來初始化代理:
手動初始化代理需要跳板機上執行。
-
編輯sshd_config配置。
sudo vi /etc/ssh/sshd_config -
添加如下配置允許SSH帳號進行請求轉寄。
ClientAliveInterval 60 # SSH代理宿主機每隔60秒向本地Client發送保活請求,以維持串連不斷開,您可根據實際需要來進行設定。 Match User <yourSSHAccount> # SSH帳號名稱。 GatewayPorts yes -
重啟SSH服務。
-
Debian/Ubuntu系統:
sudo systemctl restart ssh -
CentOS/RHEL/Fedora系統:
sudo systemctl restart sshd
-