使用 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

故障排除

如果您遇到有关 AWS CLI 的问题,请参阅排查 AWS CLI 错误以了解故障排除步骤。有关相关性最高的故障排除步骤,请参阅SSL 证书错误