Vercel 帳戶被清空,十萬頁上線,三場事故同一天
這天,喵宇宙結束了搬離舊雲端平台的收尾工作,卻也是同一天裡連續發生多場事故的日子:網域搬家一度讓一個網站的信箱斷線,十個網站的站內連結整天回應錯誤,剛搶救回來的新網站內容也一度被程式吃掉大半。事故之外,A 站十萬頁公司詳細資料在這天正式公開。
舊雲端帳戶清零,搬家途中讓信箱斷線40分鐘
凌晨到清晨陸續完成剩餘的網域修復,35 個掛在已刪除舊平台上的網域切回正常服務。上午確認舊平台帳戶裡只剩最後一個服務中的網域,把它改成直接轉址後正式刪除該帳戶項目,舊平台的帳戶自此歸零;同時把全站群 576 個網域重新盤點一次,發現除了 24 個較新出現、18 個舊清單就有的仍卡在已刪除的舊平台上,其餘早就搬到新雲端或者根本沒有對外服務。
下午著手把主站與 ALLinAI 商學院所在的兩個網域,從原本的網域代管平台搬到 Cloudflare。搬到一半出事:Cloudflare 那邊的網域設定還卡在初始化、對外查詢一律拒答,原本的代管平台卻已經把網域指標切過去,ALLinAI 商學院的對外信箱因此一度收不到信,中斷約 40 分鐘,所幸卡在一般信件系統的重試機制之內,沒有信件真正遺失。發現後立刻把指標切回原代管平台止血;查出真正原因是 Cloudflare 那端有一個確認步驟需要人工手動點過一次才會生效,不是原先以為的自動化防護擋下操作。下午重新搬家,這次先驗證新設定真的能正常回應查詢才切換指標,全程沒有再發生中斷。
六個網站帶著真實內容重新上線
另一條線持續把還掛在舊平台上的網站修好。這天有六個網站完成重建並正式對外服務,總共切換了 20 個網域。其中一個網站因為內容還是出廠時的示範資料,刻意先設定成不開放搜尋引擎收錄,等內容補齊再解除。
十個網站的站內連結,這天以前其實一直是404
處理三個網站回報的網址清單問題時,查出這其實是波及十個網站的共通缺陷,成因有兩種:一部分網站在建置時漏掉一個設定,導致頁面上的正式網址與機器人規則檔全部誤指向本機測試網址;另一部分網站則是靜態頁面匯出時網址結尾少了斜線,跟雲端儲存空間讀取檔案的規則對不上,結果網址清單裡列出的頁面、以及網站內部彼此的連結,全部變成 404。其中一個網站因為這個問題已經全站不開放搜尋引擎收錄。
當天把十個網站全部修好並重新確認每個網址都能正常打開,另外加了一道自動檢查:以後建置網站時只要網址清單裡有任何一條連不到實際檔案,就會直接擋下、不會上線。另一個網站雖然連結問題已修好,但因為站內部分數字沒有標明來源、部分內容還待專業審閱,繼續保持不開放收錄,等內容補齊再開放。
ALLinAI商學院搶救回來的舊文章,一度被程式吃掉大半
先前一度被判定「只剩產出的網頁、素材救不回來」的 ALLinAI 商學院,這天確認其實留有一整份完整的搬遷素材,包含 99 篇文章的原始內容與分類規劃。重建成新網站的第一版做完後,比對每一篇文章重建後與原始文章的字數,發現最嚴重的一篇只剩下原文的 41%,起因是原始文章的網頁格式很不規則(例如清單標籤沒有正常收尾),重建用的程式遇到這種格式時會把後面一整段內容直接丟掉。
修好處理方式後重新比對全部 99 篇文章,最少的一篇也還原到原文的 100.4%,確認沒有任何一篇遺失內容;文章裡出現的聯絡信箱、退費承諾等對外宣稱也逐項比對回原始素材,確認都是原站本來就有的內容,沒有捏造。這天完成到重建與比對,還沒有正式接上網域對外開放。
A 站十萬頁公司資料正式公開
A 站這天把準備好的十萬頁公司詳細資料正式對外開放。上線過程中連續送出好幾次線上建置,每一次都在某個檢查點被系統自己攔下來:有時是新資料把舊有的公司排擠出榜單,有時是被排除的公司其實還在、只是登記狀態變了。查清楚每次的真正原因後修正規則再重送,最後把「哪十萬家公司要上線」直接凍結成一份固定清單,之後每個月更新資料時只補進真正解散或轉為非公司狀態的名額,避免每次重新排名就掉了一批網址。
這天也第一次打通每月更新資料的完整流程,讓網站換上最新一次的政府資料快照,並且新增了每間公司頁面下方的異動紀錄功能,抓出 20,380 筆從 8 月 11 日到 9 月 1 日之間的資料變化,包含名稱、地址、資本額變動,已經能在頁面上看到「資本額變更」的紀錄。
搜尋引擎裡卡著50萬個死連結
檢查A 站在搜尋引擎裡的收錄狀況時,發現有 50 萬個網址被標成「已找到但尚未建立索引」,遠超過站上實際的十萬頁內容。往回查是舊平台時代做過一次全面索引實驗,開了大量動態網址並分成好幾份清單每天提交給搜尋引擎;舊平台帳戶清空後這批網址全部變成 404,搜尋引擎那邊的清單卻還掛著沒清掉。這天把這批清單從搜尋引擎後台整批移除,讓出抓取資源給等著被發現的 8.4 萬個新頁面。
這天其他狀況
- 其中一個剛上線的網站搶救上線的兩個健康工具,被抓到「距今幾小時」的計算公式被多除了十倍,導致頁面顯示的時間窗跟實際差了十倍,已經修正並補上測試。
- 兩條並行的工作線同時在調整同一份設定,其中一次不小心把另一條線還沒收尾的一項修改一起送上線;內容本身沒有問題,也沒有造成任何損壞,事後已告知對方。
- 整理本機多年累積的舊工作資料夾與備份,把能確認安全刪除的部分列成清單交回使用者本人動手刪除,也找到一部分只存在本機、從未同步到任何伺服器的紀錄,特別標記保全、不列入可刪清單,磁碟空間因此空出約 54GB。
- 找回一個原本以為原始碼永久遺失的網站的建置方式,重建出的 2,341 個檔案跟線上版本逐字相同,這個網站往後可以用正常方式維護,不用再靠複製線上內容過活。
- 還有一個網站的一項自動化測試因為近期新增三篇文章而跟現網對不上,確認是內容正常增加、不是漏放該擋的內容,已更新測試裡的數字。
- A 站的網址設定這天發現已經切到最新版本,但版本控管紀錄還停留在 8 月 30 日的舊版,如果照舊紀錄重新套用,會讓網站悄悄退回舊版本;發現後已同步更正紀錄。