

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將 HTTP 代理用於 AWS CLI
<a name="cli-configure-proxy"></a>

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

**Topics**
+ [

## 使用範例
](#cli-configure-proxy-using)
+ [

## 驗證代理
](#cli-configure-proxy-auth)
+ [

## 在 Amazon EC2 執行個體上使用代理
](#cli-configure-proxy-ec2)
+ [

## 故障診斷
](#cli-configure-proxy-tshoot)

## 使用範例
<a name="cli-configure-proxy-using"></a>

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

以下範例說明如何使用代理的明確 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
```

使用 [https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/setx) 設定環境變數時，將會變更在目前命令提示工作階段及您在執行命令後建立的所有命令提示工作階段中使用的數值。***不會***影響您執行命令當時已執行的其他命令 Shell。

**僅針對目前工作階段設定**

使用 `[set](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/set_1)` 設定環境變數會變更使用的數值，直到目前命令提示工作階段結束或直到您將該變數設為其他數值。

```
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
```

------

## 驗證代理
<a name="cli-configure-proxy-auth"></a>

**注意**  
AWS CLI 不支援 NTLM 代理。如果使用 NTLM 或 Kerberos 通訊協定代理，則可以透過如 [Cntlm](http://cntlm.sourceforge.net) 這樣的身分驗證代理進行連接。

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 執行個體上使用代理
<a name="cli-configure-proxy-ec2"></a>

如果您在以連接的 IAM 角色啟動的 Amazon EC2 執行個體上設定代理，請務必將用來存取[執行個體中繼資料](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)的地址排除。若要這麼做，請將 `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
```

------

## 故障診斷
<a name="cli-configure-proxy-tshoot"></a>

如果您遭遇有關 AWS CLI 的問題，請參閱 [故障診斷 的錯誤 AWS CLI](cli-chap-troubleshooting.md) 以瞭解故障診斷步驟。如需最相關的故障診斷步驟，請參閱 [SSL 憑證錯誤](cli-chap-troubleshooting.md#tshoot-certificate-verify-failed)。