gpt4 book ai didi

python - 在公司防火墙后面时 azcli 出现问题

转载 作者:行者123 更新时间:2023-12-03 06:14:18 31 4
gpt4 key购买 nike

我尝试在公司防火墙后面使用 vscode 中的 AZCLI 并收到此消息:

cli.azure.cli.core.azclierror:HTTPSConnectionPool(主机='login.microsoftonline.com',端口=443):超过最大重试次数,网址:/organizations/v2.0/.wellknown/openid-configuration (由 SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:证书链中的自签名证书 (_ssl.c:997)'))) 引起

az_command_data_logger:HTTPSConnectionPool(host='login.microsoftonline.com', port=443): Maxretries exceeded with url:/organizations/v2.0/.well-known/openid-configuration (Caused bySSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]certificate verify failed: self signed certificate in certificatechain (_ssl.c:997)')))

Certificate verification failed. This typically happens when usingAzure CLI behind a proxy that intercepts traffic with a self-signedcertificate. Please add this certificate to the trusted CA bundle.More info:https://docs.microsoft.com/cli/azure/use-cli-effectively#work-behind-a-proxy.

cli.knack.cli: Event: Cli.PostExecute [<function AzCliLogging.deinit_cmd_metadata_logging at 0x0402A460>]

问题是我不知道我应该在 vscode bundle 中使用哪个证书。

我在以下位置的文件中添加了在我的证书 mmc 中找到的一些根证书:

C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem 但是,我无法从 vscode 运行 azcli。关于如何找到防火墙证书的任何想法?

到目前为止,还尝试过设置变量:

setx AZURE_CLI_DISABLE_CONNECTION_VERIFICATION 1

setx ADAL_PYTHON_SSL_NO_VERIFY 1

添加了我的计算机拥有的很多根证书,但我不知道是否还需要添加其他证书。

我不知道是什么意思的另一件事是我在许多关于 REQUEST_CA_BUNDLE 的线程中看到的东西。应该有帮助吗?

最佳答案

从错误消息中可以很明显看出问题是由于 SSL 证书验证造成的。

计划 1:首先,为了找到根证书,您需要遵循以下文章: https://github.com/jiasli/azure-notes/blob/master/cli/proxy-cert-linux.md

获得根认证信息后,您需要按照以下文章操作: https://docs.microsoft.com/cli/azure/use-cli-effectively#work-behind-a-proxy

计划 2:如果上述方法没有帮助,请尝试将标准 Python 根 CA 附加到您的 pem 文件,并检查这是否有助于运行 CLI 命令。

REQUESTS_CA_BUNDLE=$HOME/certs/internal.pem

计划 3:尝试通过将 REQUESTS_CA_BUNDLE 环境变量设置为 None 来暂时禁用 SSL 证书验证,并检查这是否有助于运行 CLI 命令。

export REQUESTS_CA_BUNDLE=None

计划 4:运行此命令并检查结果:

python.exe" -c "import urllib.request; print(urllib.request.getproxies())"

这应该为您提供代理详细信息。然后,您可以联系您的内部企业代理团队,检查他们是否可以为您提供可以在上述步骤中使用的证书,然后将该证书附加到此文件 C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\Lib\site-packages\certifi\cacert.pem。

希望这有帮助。

关于python - 在公司防火墙后面时 azcli 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76427458/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com