首页 > 解决方案 > 在 Azure 上注册模型时出现“证书验证失败”错误

问题描述

今天,我想在 Azure 工作空间上注册一个新模型时出错。这个错误以前没有发生过!我唯一的变化是模型本身,但代码是相同的:

from azureml.core import Workspace
from azureml.core.compute import AksCompute, ComputeTarget
from azureml.core.webservice import Webservice, AksWebservice
from azureml.core.image import Image
from azureml.core.model import Model
import azureml.core
from azureml.core.workspace import Workspace
from azureml.core.model import Model
ws = Workspace.from_config()
model_reg = Model.register(model_path = "./outputs/model_final",
                       model_name = "ModelX",
                       tags = {'area': "XXX", 'type': "deep"},
                       description = "Model 1",
                       workspace = ws)

这是我得到的错误:

raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='xxx
.blob.core.windows.net', port=443): Max retries exceeded with url: /azureml/Loca
lUpload/190530T093046-fc5a89ca/tfModel.tar.gz?sv=2018-03-28&sr=b&sig=9FFnsaefR9w
PkR%2FvsMlnQYrA2wlnJG7Cu%2BP9%2FePPZEY%3D&st=2019-05-30T08%3A20%3A46Z&se=2019-05
-31T08%3A30%3A46Z&sp=rcw&comp=block&blockid=TURBd01EQXdNREF3TURBd01EQXdNREF3TURB
d01EQXdNREF3TURBd01EQSUzRA%3D%3D (Caused by SSLError(SSLError("bad handshake: Er
ror([('SSL routines', 'tls_process_server_certificate', 'certificate verify fail
ed')],)",),))

我尝试更新所有 python 包,甚至创建一个新的 conda env,重新安装所有包,但仍然出现此错误。

有什么帮助或类似的经验吗?

标签: pythonpython-3.xazuressl-certificate

解决方案


作为参考,可能有两个原因导致此问题。

  1. 网络问题。运行此 Python 脚本的网络环境已更改。现在脚本可能通过不支持或启用 SSL/TLS 功能的 Fiddler 等代理运行,或者您的网络中的某些 IP 限制导致它像 SO thread SSL Certificate 错误,同时通过 python 进行请求

  2. 目标站点升级了 SSL 版本。您可以按照 SO 线程回答Django paypalrestsdk error - OpenSSL.SSL.Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]进行检查。

希望能帮助到你。


推荐阅读