一次SSL證書切換之後的故障排查

    星期五下班前,在機房把自己支付部門的證書切換一下,貌似相安無事;星期一來到辦公室另一個項目的同事說支付接口請求訪問不了;想一下是不是自己切換證書引起的;下面是排錯步驟:

1、先線下用瀏覽器訪問接口:

wKioL1bc4iii-aRfAABLTBWB4D0174.png


*訪問的是get請求是可以返回數據的,說明證書是沒問題的,那麼就是本地機房通信問題或者代碼問題了;登錄機器查看


2、登錄有代碼的服務器查看:

>>> import urllib2
>>> import urllib
>>> html = urllib2.urlopen("https:xxxxx?jsonData={xxxxxxx")  ###用匿名指代
>>> print html
<addinfourl at 24155344 whose fp = <socket._fileobject object at 0x16e9ed0>>
>>> dir(html)   ##由於返回的是對象,查看具體有哪些方法
['__doc__', '__init__', '__iter__', '__module__', '__repr__', 'close', 'code', 'fileno', 'fp', 'getcode', 'geturl', 'headers', 'info', 'msg', 'next', 'read', 'readline', 'readlines', 'url']
>>> print html.next()   ##查看next有返回值
{"success":2963.48}


*在本機上執行有返回結果,說明通信沒問題,而且能返回結果服務端應該也是沒問題,那麼剩下的就是php代碼了


3、百度找到了,解決方式:

在請求的代碼加上如下:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

*原因:在本地的機房無法驗證SSL證書,那麼代碼跳過即可。


這次只是一場簡單的排錯過程,但是也看到了python在日常運維中也是起到了不小的作用的,主要是思路步驟清晰一步一步來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章