使用IBM Watson机器学习的入站SSL错误

我在Bluemix上有一个使用Python构建包的Cloud Foundry应用,过去几个月一直成功地连接并使用绑定到该应用的Watson机器学习(WML)服务。然而,从今天早上开始,当我尝试调用该服务时,收到了一个SSL错误。这个错误可能在今天之前就已经开始了,我只是今天早上才注意到它。

我使用Python的requests库从应用中调用WML。我还尝试使用Postman来调用该服务。

以下是相关的Python代码(几个月来一直正常工作):

import requestsspssUrl = 'https://palbyp.pmservice.ibmcloud.com/pm/v1/{model}'spssModelscore = 'score/bikeride'spssParams = {"accesskey": accessKey, "metadatatype": "score"}spssHeaders = {"Content-Type": "application/json"}spssResults = requests.post(spssUrl.format(model = spssModelscore), data=json.dumps(modelPayload), params=spssParams, headers=spssHeaders)

以下是我看到的错误:

requests.exceptions.SSLErrorSSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)

最近有什么变化吗?我是否需要在我的应用/客户端中进行额外的配置才能连接到该服务?

更新

我发现通过禁用SSL验证(在请求中添加verify=False)可以成功调用WML。

spssResults = requests.post(spssUrl.format(model = spssModelscore), data=json.dumps(modelPayload), params=spssParams, headers=spssHeaders, verify=False)

显然,这不是解决这个问题的正确方法。有没有指导意见?我想知道WML是否最近开始使用一个更新的SSL证书,这个证书不在requests使用的CA列表中——而且无法验证。

更新

发现SSL证书已经过期了。

SSL已过期截图


回答:

IBM已经安装了一个更新的SSL证书。现在连接正常工作了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注