2017年2月23日 星期四

微信伺服器認證問題


微信機械人的編程工作完成了,得由測試服轉為正式服。在微信後台輸入正式服的網址,打好了認證簽字,點下「提交」掣,出現「認證失敗」。改回測試服再試一次,卻「認證成功」。非常奇怪。

正式服使用 Udomain。試過不止一次,它的伺服器會懶醒地把數據偷偷地改了。於是我把傳入的數據記錄下來,用 Postman 模擬一下,不論是測試服還是正式服,都有相同的長度、相同的結果。只是檔頭有少許不一樣,但不會影響認證。既然 99% 一致,那麼焦點落在連線上。其中一個可能性是微信國內的伺服器連不上 Udomain。Access Log 及 Error Log 找不到認證的影子,然而程式中的活動記錄卻有寫進檔案;意味著假設不成立。於是又想,會不會是 The Great Firewall 做的好事?沒欄測試服,只欄正式服。向 Udomain 求證,他們說沒有問題。

在毫無頭緒的情況下,想到目前 HTTP 的請求會自動轉到 HTTPS 渠道,會不會這個設定有所影響呢?認證網址一直都用 HTTPS,心想 99% 不關事吧。在沒有出路的情況下唯有一試。關閉了跳轉程式,再次認證,再次「認證失敗」。隨手也試試 HTTP,今次卻成功了。雖然不清楚問題的原因,但估計是 SSL 證書,或是 VirtualHost 設定出事吧。有待研究。

沒有留言: