網站搬家前如何測試新主機?用 curl –resolve 指定 IP
網站搬家時,新主機已經完成設定,但正式 DNS 還指向舊主機。這時可以用 curl 的 --resolve,只讓這次請求把網域連到指定 IP,檢查新主機是否能正確回應。這項測試會真正向目標送出請求,請只測試有權管理的網站。
準備測試位置與網址
先確認新主機的 IP、網域、HTTPS 埠號與測試路徑,並確認伺服器已設定對應網站及受信任憑證。以下 IP 為文件示範位址,不能直接使用。測試端必須能連到新主機的 443 埠;若網站只允許特定來源 IP,先依主機政策授權。
curl --resolve example.com:443:192.0.2.10 -I https://example.com/
這會對 example.com 的 443 埠採用指定 IP;網址仍是 example.com,所以 HTTP 網域與 TLS 憑證檢查仍以該名稱進行。-I 送出 HEAD 請求,回應可能包含 200、301 或 302;有些伺服器不支援 HEAD,應再用 GET 檢查。Windows PowerShell 請使用 curl.exe,避免版本中的別名混淆。
檢查回應與實際內容
curl --resolve example.com:443:192.0.2.10 -sS -D - -o /dev/null https://example.com/
檢查狀態碼、Location 與必要標頭,再以不含敏感資訊的公開測試頁確認內容。若新站回傳登入頁或錯誤頁,200 並不足以證明網站正常。不要直接對 IP 使用 HTTPS 然後忽略憑證錯誤,也不要用 -k 把驗證失敗當作成功。
不要預設重新導向也會命中新主機:若 Location 換了主機名稱或埠號,需要為該主機與埠另設 –resolve;先檢查 Location,再決定是否追蹤。代理伺服器環境可能改變連線路徑;若有使用代理,應先確認代理如何解析與連線。
結果判讀與還原
若 DNS 正常方式與指定 IP 的結果不同,差異可能來自新主機設定、網路限制、應用資料或快取。單次 curl 只測得該路徑與時間點,還需要測試登入、動態功能及資料庫,並依計畫切換。這個選項僅作用於該次 curl 呼叫,結束後不需還原系統 DNS 或 hosts。切換正式 DNS 前可搭配搬家後 DNS 解析檢查。詳細參數見 curl 官方手冊。
實作:分辨預設站台與搬遷版本
在授權的新主機網站根目錄建立一個沒有敏感內容的唯一測試檔,例如 migration-check-202611.txt,內容寫入 NEW-SERVER-202611。先確認新主機該路徑不存在,再記下建立者與清理時間;不要放入設定檔、IP 或密碼。若平台無法安全建立公開檔案,可改用已知的新站專用靜態資源,並先確認舊站沒有同一內容。
curl --resolve example.com:443:192.0.2.10 -sS -D - https://example.com/migration-check-202611.txt
curl -sS -D - https://example.com/migration-check-202611.txt
第一個請求指定新主機,第二個走平常 DNS/CDN;比較狀態碼、回應本文與標頭。假設第一個回傳 200 且本文是 NEW-SERVER-202611,第二個仍是 404 或舊內容,就代表兩條路徑在該時刻的回應不同;這還不能單獨證明是 DNS、CDN 快取或來源設定造成。若第一個回傳其他站台內容,檢查新主機的 server_name/虛擬主機及文件根目錄,並核對完整 Host 與 TLS SNI。
先不要加 -L,避免跳到 www 或其他主機後不再使用原本的指定 IP。若回傳 Location: https://www.example.com/,應先確認 www 是否也部署到新主機,再為 www 的 443 埠另外指定 –resolve。測試結束後刪除自己建立的測試檔,重新請求確認該檔不再公開;CDN 若曾快取此檔,還要依站台快取政策處理並檢查。
搬站切換前後各驗證一次
在切換前逐一測首頁、靜態檔、文章頁與不產生交易的動態頁;登入、表單或購物車請在隔離環境使用測試資料。切換後改用一般 DNS 從兩個不同網路比對相同 URL,並檢查 CDN 的回應與新主機存取日誌。指定 IP 測試不經過原有 CDN,無法驗證 CDN WAF、快取或邊緣規則。
若切換後需要回復,依事前紀錄還原原 DNS 記錄值、TTL 和代理狀態;若新站已接受訂單或留言,先評估資料差異再切回舊站,避免遺失新資料。等待 DNS 與 CDN 的快取更新,並重新驗證兩條路徑,不要只看一次 200。









臉書留言
一般留言