[突發救援] 網站突發被騰訊雲因未備案 屏蔽,60分鐘內搶救恢復成功!

前言

小弟手裏運營者幾個公衆號和小程序,用戶量也有幾十萬,每日訪問次數大概在4w+左右。昨天突然客戶告訴我,訪問頁面掛了。打開一看,顯示:

 

頓時緊張起來!無法訪問可是頂級的事故,無論任何原因,都要第一時間立刻搶修。所以接下來的60分鐘突發救援過程,咱們分享出來。

 

事故項目背景說明

用戶使用我的公衆號客服消息,我會根據輸入返回個查詢結果頁面。頁面域名是:lego.domain1.com,服務器是騰訊雲服務器。

當時我個人用戶註冊域名很麻煩,所以借用了朋友公司的服務器,做了個二級域名解析,到我的騰訊雲服務器,整個拓撲結構如圖:

 

 按道理,我是可以偷着樂的,不需要對二級域名進行備案,那怎麼就突然被騰訊雲封殺了?問了朋友:

 

 

原來朋友更換了接入商,取消了騰訊的服務。這裏面稍微解釋下,如果備案在騰訊,備案服務器也在騰訊,那麼我的服務器是不會有問題的。

現在因爲備案和服務器在阿里,我的服務器在騰訊,所以被封殺了。那麼接下來就是緊急救援開始了!

 

突發救援過程分享

PlanB 立刻上

首先,無論事故是什麼原因,先做服務降級,恢復現場。

騰訊封殺的是微信封殺打開的頁面,其他經過測試,domain1的接口調用均暫時正常,所以影響範圍目前沒擴散開。我決定先把用戶的訪問從網站轉移到小程序。這裏面需要修改客服消息接口,返回小程序跳轉鏈接:

<a href="http://www.qq.com" data-miniprogram-appid="appid" data-miniprogram-path="pages/index/index">點擊跳小程序</a>

效果展示:

 

 

 

參考資料:

https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/customer-message/customerServiceMessage.send.html#%E4%BA%91%E8%B0%83%E7%94%A8

 

 

解決方案 —— 換地址

服務已經最低限度恢復了,接下來可以慢慢分析解決方案。

雖然騰訊目前沒有封殺domainAAA的接口,但是未來接口調用肯定也是會被封殺的。所以lego.domainAAA.com這個域名是肯定要放棄了,但是我的服務器不能放棄,上面都是數據。所以我想起了我後來自己備案了一個域名,叫 www.domainBBB.cn。

那最簡單,把domainBBB的域名做個二級域名lego.domainBBB.cn,解析到服務器即可,去騰訊雲的dns服務網站,做個二級域名解析:

 

 

地址在:https://console.dnspod.cn/

 

可是這裏遇到了個https問題。原來在domain1的時候,申請的SSL證書是不能用在domain2的。

如果我這個時候修改了服務器的證書,會導致現在線上正在跑的domain1接口調用也出問題了,那就是全面崩潰。

 

SSL證書問題

最直觀的想法,就是能否讓服務器的Nginx支持同時解析兩個ssl證書?搜了相關的資料,發現雖然是可以,但是條件比較苛刻,我無法保證在生產環境絕對安全。

所以第二個想到的,是不是可以換個https的端口?從默認443,添加一個444?nginx配置如下:

 

先做了個簡單的測試,讓兩個端口都使用相同的證書,發現是可以的。所以立刻申請一個新的SSL證書。

 

解決方案 —— SSL證書重新申請

 

去阿里雲的後臺,數字證書管理,重新申請一個新證書。這時候阿里雲需要我使用DNS解析方式驗證。那麼就去騰訊雲的DNS解析服務,按照阿里雲的提示,去dns後臺添加個記錄即可:

 

申請通過後,按照提示,把SSL證書文件下載,解壓到nginx目錄下,修改配置,service nginx restart。然後過一會證書就生效了,HTTPS可以正常訪問了。

 

 

公衆號、小程序配置新的訪問接口

使用了新的端口,需要在公衆號和小程序的頁面重新配置,否則會無法訪問:

 

 

 

備案的域名能否綁定多個服務器?

新的域名domainBBB之前綁定了一臺服務器,這次二級域名綁定了新的服務器,需要再備案嗎?小編搜了下網站的資料。大概的說法是隻要都在騰訊雲,就不需要再備案了。

 

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