直接指向 DNS 與反向代理
已發表: 2023-01-18啟動新網站時,最好將 DNS 直接指向您的 Web 主機,還是使用反向代理?
這將取決於多種因素,包括您的新網站上線的速度、同一 URL 是否用於多個主機上的網站和應用程序,以及您公司 IT 部門的要求。
目錄
- 直接指向 DNS 與使用反向代理
- 準備指向 DNS 以進行站點遷移
- 下一步
但首先,讓我們從基礎開始。
直接指向 DNS 與使用反向代理
直接指向 DNS 和反向代理都可以將流量路由到您的網站,但每個選項都有理想的用例。
什麼是域名系統?
域名系統 代表域名系統。 每個網站都有兩個地址:
- 人們使用的文本地址(例如,example.com)
- Web 瀏覽器和網絡理解的數字地址(例如,123.4.56.78)
DNS 將這兩個地址聯繫在一起。 當有人在瀏覽器中鍵入“example.com”時,瀏覽器知道將它們發送到哪個數字位置——而不是必須通過數字字符串連接網站(就像在互聯網的早期)。
DNS 引導所有網站的流量,但有時在 DNS 和 Web 訪問者之間存在反向代理層。
什麼是反向代理?
反向代理充當網絡流量的中介“大廳監視器”。 它是位於託管您網站的 Web 服務器之前的服務器。 您可以將 DNS 指向您的代理服務,而不是直接將您的 DNS 指向您的網絡主機,然後代理服務會將您網站的訪問者引導至您的網絡主機。
您應該直接指向 DNS 還是使用反向代理?
反向代理可以處理比 DNS 更複雜的路由。 例如,如果您希望來自 example.com 的訪問者轉到一個特定 Web 主機上的站點,但 example.com/blog(子目錄)的訪問者轉到另一台主機上的站點,您需要一個反向代理。
注意:子域(例如 subsite.example.com)可以使用直接指向的 DNS 進行處理。
反向代理可以提供超出大多數 Web 主機提供的安全性、性能和穩定性改進,但它們的設置比直接指向 DNS 更複雜。 此表是一個高級比較,可幫助您與公司的 IT 團隊就哪種選項最適合您的網站進行對話。
如果……直接指向 DNS | 如果……使用反向代理 |
您將所有內容託管在一個網絡主機上,和/或僅使用根域 (example.com) 或子域 (subdomain.example.com)。 | 您的主要網站位於一個網絡主機上,而您的博客位於另一個網絡主機上,而博客是您的主要網站 URL(例如,example.com/blog)的子目錄。 |
您需要快速遷移站點,但沒有時間或資源在啟動前配置和測試代理設置。 | 您有足夠的時間來測試和啟動代理設置。 |
您沒有特定的安全或性能問題,因為您正在遷移到非常安全、可擴展、高性能的主機(例如 WordPress VIP)。 | 您的虛擬主機沒有提供足夠的安全性、性能或可擴展性。 |
您網站 URL 的所有流量都流向同一個地方。 | 您的網站和移動應用程序都使用相同的 URL,您需要一些東西來相應地引導流量。 |
你的主機有一個內置的 CDN(比如 WordPress VIP)。 | 您想要使用內容分發網絡 (CDN),但您當前的虛擬主機不提供內置 CDN。 |
準備指向 DNS 以進行站點遷移
如果您要將網站遷移到新主機,啟動計劃的一部分將涉及將 DNS 或反向代理指向新主機。 指向 DNS 幾乎總是比指向代理更容易,後者需要額外的步驟。
注意:在網站遷移過程的早期與您的系統管理員密切合作,以確定將您的域指向新主機的確切要求。 請在臨近發布日時回來查看,以確保您的資源在正確的時間對準 DNS 或代理。
如果您直接指向 DNS,請在啟動前註意以下兩點:
過去,大多數 DNS 使用“A 記錄”指向,其中 A 代表地址。 如果您使用的是 A 記錄,請盡快找出新站點的 IP 地址,以便您的系統管理員為發布日做好準備。
根據您的 DNS 註冊商,您可能有 A 記錄以外的選項來指向 DNS,例如 ALIAS、ANAME 或 CNAME。 這些類型的記錄指向您的網絡主機擁有的文本 URL,而不是 IP 地址。 這通常是比 A 記錄更好、更永久的指向 DNS 的方法,因為您的網絡主機的 IP 地址可能會隨著時間而改變。
準備指向站點遷移的反向代理
反向代理往往是那些“單點故障”之一,它可以將順利的發布變成一個艱難的發布,因此要預留大量的測試時間——最好是在發布前幾週。
反向代理需要什麼樣的配置?
在啟動之前,您的開發團隊和系統管理員需要配置幾項內容。 根據您的站點和代理的獨特設置,您的配置步驟可能包括:
- 設置反向代理應將流量定向到的來源(確保人們訪問您的站點)。 這通常是僅對網絡託管公司可見的基於文本的鏈接。
- 根據 Web 主機的要求為 Host HTTP、True-Client-IP HTTP 和 X-Proxy-Verification 設置請求標頭。
- 轉發域的 .well-known/acme-challenge/* 路由,或為域安裝自定義 TLS 證書。
- 允許您的網絡託管服務商的支持技術人員訪問站點。
- 為面向公眾的 URL 設置 DNS。
- 為您的團隊和網絡託管服務商記錄反向代理的詳細信息。
詳細了解 WordPress VIP 的反向代理配置。
如何測試反向代理
在啟動您的網站之前徹底測試您的代理配置,以確認流量將成功到達您的新網站。 這通常是通過您的網絡主機上的測試 URL 和非生產環境來完成的。
運行 cURL 命令
如果您需要有關流量目的地的詳細信息來診斷代理配置問題,請運行 cURL 命令(URL 的客戶端)。 這可以在終端 (Mac)、Windows 命令提示符 (PC) 或命令行 (Linux) 中完成。
該命令類似於:
curl -I https://example.com/blog/
對該命令的響應應包括您的主機發送的標頭,以及代理服務器發送的標頭。
更新主機文件
另一種測試方法包括更新您的主機文件。 主機文件是計算機上的一個文本文件,其中列出了 IP 地址和 URL。
更新主機文件以告訴您的計算機查看 DNS 指向的網站以外的網站。 通過使用站點的 URL 和 Web 主機的 IP 地址更新主機文件,您可以確定在繞過反向代理時站點是否按預期顯示。 如果是,則問題出在代理級別,而不是您的虛擬主機級別。
下一步
最終,您網站的獨特需求將決定網站啟動時引導流量的最佳方式。 在網站開發過程的早期開始與您的系統管理員進行這些對話,以便您可以有效地規劃配置要求和測試時間。
如果您要遷移到 WordPress VIP,請諮詢您的技術客戶經理以獲得建議。
在 WordPress VIP 廣泛的文檔庫中了解有關 DNS 和反向代理的更多信息。