引言
最近在一次生產問題中遇到了SSLException:Unrecognized SSL message,plainetxt connection
錯誤異常信息,背景爲調用微信api 獲取相應信息的時候報錯,微信api的域名爲api.weixin.qq.com
。
一、服務檢查
首先我們進行了服務檢查,故障期間沒有進行過變更,並且服務上其他接口均正常訪問,只是訪問微信的api時纔會報相應的錯誤。初步排除應用服務問題。
二、網絡策略檢查
從報錯的含義上看是由於使用了https去訪問一個http的服務。由於雙方一直都是使用https進行交互的並且服務沒有進行變更,考慮到由於公司的網絡需要開通網絡策略才能對外,我們進一步驗證網絡的連通性,telnet對方的IP和443端口,發現能夠正常聯通。故再次排除了網絡策略的問題。
四、使用nslookup查看IP地址
使用nslookup domain
查看微信域名對應的IP,發現IP與服務所訪問的IP不一致,判斷是對應的服務IP更換的原因,更換IP後服務恢復正常。
要注意,nslookup domain
不會返回所有的IP地址,只會返回當前運營商的IP地址,例如聯通的只返回聯通的IP,電信的網絡則返回電信的IP。