如何为azure-cli命令行工具设置代理?

时间:2013-12-10 17:01:02

标签: azure

我在公司防火墙后面,无法使用命令行界面连接,这可能无法从系统配置中获取代理信息,但我找不到设置正确选项的方法。

2 个答案:

答案 0 :(得分:5)

另一个答案中提到的环境变量是解决方案的一部分,因此您确实需要通过在az login之前运行这些命令来进行设置。请注意,(至少以我为例)两个URL均以http开头,而不是以https开头。

SET HTTP_PROXY http://my-proxy-details

SET HTTPS_PROXY http://my-proxy-details

或者,要对其进行永久设置:

[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://my-proxy-details", "Machine")

[Environment]::SetEnvironmentVariable("HTTPS_PROXY", "http://my-proxy-details", "Machine")

如果这为您解决了问题,您可以在此处停止阅读。如果没有,并且看到证书错误,则额外的步骤是找到Azure CLI的专用Python安装,并将根证书添加到其cacert.pem文件中。尽管Python本身使用Windows证书存储,但某些软件包(尤其是certifi)却没有。

您将需要PEM格式的代理的根证书-即base64文本而不是二进制文件。它可能具有.cer扩展名。

在Azure CLI的program文件夹中找到site-packages文件夹。对我来说,它是C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages。在其中搜索名为cacert.pem的文件。我找到了三个。复制证书的内容,并将其粘贴到每个文件的底部。保存它们,然后重试。

答案 1 :(得分:1)

您可以使用HTTP_PROXY或HTTPS_PROXY环境变量来设置代理。