使用 HTTP 代理 - AWS Command Line Interface

使用 HTTP 代理

若要透過代理伺服器存取 AWS,您可以使用代理伺服器所用的 DNS 網域名稱或 IP 地址和連接埠號碼來設定 HTTP_PROXYHTTPS_PROXY 環境變數。

使用範例

注意

下列範例中,環境變數以全部大寫字母顯示。但是,如果使用不同的大小寫將一個變數指定兩次,則小寫字母優先。我們建議您將每個變數只定義一次,以避免混淆和意外行為。

以下範例說明如何使用代理的明確 IP 地址,或可解析代理 IP 地址的 DNS 名稱。兩者後面都可以加上冒號,以及查詢應該送往的連接埠號碼。

Linux or macOS
$ export HTTP_PROXY=http://10.15.20.25:1234 $ export HTTP_PROXY=http://proxy.example.com:1234 $ export HTTPS_PROXY=http://10.15.20.25:5678 $ export HTTPS_PROXY=http://proxy.example.com:5678
Windows Command Prompt

為所有工作階段設定

C:\> setx HTTP_PROXY http://10.15.20.25:1234 C:\> setx HTTP_PROXY http://proxy.example.com:1234 C:\> setx HTTPS_PROXY http://10.15.20.25:5678 C:\> setx HTTPS_PROXY http://proxy.example.com:5678

使用 setx 設定環境變數時,將會變更在目前命令提示工作階段及您在執行命令後建立的所有命令提示工作階段中使用的數值。不會影響您執行命令當時已執行的其他命令 Shell。

僅為目前工作階段設定

使用 set 設定環境變數會變更使用的數值,直到目前命令提示工作階段結束或直到您將該變數設為其他數值。

C:\> set HTTP_PROXY=http://10.15.20.25:1234 C:\> set HTTP_PROXY=http://proxy.example.com:1234 C:\> set HTTPS_PROXY=http://10.15.20.25:5678 C:\> set HTTPS_PROXY=http://proxy.example.com:5678

驗證代理

注意

AWS CLI 不支援 NTLM 代理。如果使用 NTLM 或 Kerberos 通訊協定代理,則可以透過如 Cntlm 這樣的身份驗證代理進行連接。

AWS CLI 支援 HTTP 基本驗證。在代理 URL 中指定使用者名稱和密碼,如下所示。

Linux or macOS
$ export HTTP_PROXY=http://username:password@proxy.example.com:1234 $ export HTTPS_PROXY=http://username:password@proxy.example.com:5678
Windows Command Prompt

為所有工作階段設定

C:\> setx HTTP_PROXY http://username:password@proxy.example.com:1234 C:\> setx HTTPS_PROXY http://username:password@proxy.example.com:5678

僅為目前工作階段設定

C:\> set HTTP_PROXY=http://username:password@proxy.example.com:1234 C:\> set HTTPS_PROXY=http://username:password@proxy.example.com:5678

在 Amazon EC2 執行個體上使用代理

如果您在以連接的 IAM 角色啟動的 Amazon EC2 執行個體上設定代理,請務必將用來存取執行個體中繼資料的地址排除。若要這麼做,請將 NO_PROXY 環境變數設為執行個體中繼資料服務的 IP 地址 (169.254.169.254)。此地址不會改變。

Linux or macOS
$ export NO_PROXY=169.254.169.254
Windows Command Prompt

為所有工作階段設定

C:\> setx NO_PROXY 169.254.169.254

僅為目前工作階段設定

C:\> set NO_PROXY=169.254.169.254