我在公司防火墙后面,无法使用命令行界面连接,这可能无法从系统配置中获取代理信息,但我找不到设置正确选项的方法。
答案 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环境变量来设置代理。