2017-02-16 48 views
1

在Bluemix上,我已經成功連接到一個Cloud Foundry應用程序(Python buildpack),並在過去幾個月中使用綁定到它的Watson機器學習(WML)服務。但是,從今天早上開始,嘗試調用服務時收到SSL錯誤。錯誤可能在今天之前開始,我今天早上才注意到它。IBM Watson機器學習入站SSL錯誤

我使用Python請求從應用程序調用WML。我也嘗試使用Postman致電該服務。

下面是相關的Python代碼(已經幾個月工作得很好):

import requests 
spssUrl = '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.SSLError 
SSLError: [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最近是否開始使用不在requests正在使用的CA列表中的更新的SSL證書 - 並且以某種方式無法驗證。

更新

發現SSL證書已過期。

SSL Expired screenshot

回答