直接指向 DNS 與反向代理

已發表: 2023-01-18

啟動新網站時,最好將 DNS 直接指向您的 Web 主機,還是使用反向代理?

這將取決於多種因素,包括您的新網站上線的速度、同一 URL 是否用於多個主機上的網站和應用程序,以及您公司 IT 部門的要求。

目錄

  • 直接指向 DNS 與使用反向代理
  • 準備指向 DNS 以進行站點遷移
  • 下一步

但首先,讓我們從基礎開始。

直接指向 DNS 與使用反向代理

直接指向 DNS 和反向代理都可以將流量路由到您的網站,但每個選項都有理想的用例。

什麼是域名系統?

域名系統 代表域名系統。 每個網站都有兩個地址:

  1. 人們使用的文本地址(例如,example.com)
  2. Web 瀏覽器和網絡理解的數字地址(例如,123.4.56.78)

DNS 將這兩個地址聯繫在一起。 當有人在瀏覽器中鍵入“example.com”時,瀏覽器知道將它們發送到哪個數字位置——而不是必須通過數字字符串連接網站(就像在互聯網的早期)。

DNS 引導所有網站的流量,但有時在 DNS 和 Web 訪問者之間存在反向代理層。

什麼是反向代理?

反向代理充當網絡流量的中介“大廳監視器”。 它是位於託管您網站的 Web 服務器之前的服務器。 您可以將 DNS 指向您的代理服務,而不是直接將您的 DNS 指向您的網絡主機,然後代理服務會將您網站的訪問者引導至您的網絡主機。

反向代理映射的圖形表示,從客戶端計算機引導到 Internet,並在到達服務器之前被反向代理停止。

您應該直接指向 DNS 還是使用反向代理?

反向代理可以處理比 DNS 更複雜的路由。 例如,如果您希望來自 example.com 的訪問者轉到一個特定 Web 主機上的站點,但 example.com/blog(子目錄)的訪問者轉到另一台主機上的站點,您需要一個反向代理。

注意:子域(例如 subsite.example.com)可以使用直接指向的 DNS 進行處理。

WordPress 多站點適合您嗎?

反向代理可以提供超出大多數 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,請在啟動前註意以下兩點:

1. DNS 在發布當天需要指向哪裡?

過去,大多數 DNS 使用“A 記錄”指向,其中 A 代表地址。 如果您使用的是 A 記錄,請盡快找出新站點的 IP 地址,以便您的系統管理員為發布日做好準備。

2、DNS需要怎麼指向?

根據您的 DNS 註冊商,您可能有 A 記錄以外的選項來指向 DNS,例如 ALIAS、ANAME 或 CNAME。 這些類型的記錄指向您的網絡主機擁有的文本 URL,而不是 IP 地址。 這通常是比 A 記錄更好、更永久的指向 DNS 的方法,因為您的網絡主機的 IP 地址可能會隨著時間而改變。

準備指向站點遷移的反向代理

反向代理往往是那些“單點故障”之一,它可以將順利的發布變成一個艱難的發布,因此要預留大量的測試時間——最好是在發布前幾週。

反向代理需要什麼樣的配置?

在啟動之前,您的開發團隊和系統管理員需要配置幾項內容。 根據您的站點和代理的獨特設置,您的配置步驟可能包括:

  1. 設置反向代理應將流量定向到的來源(確保人們訪問您的站點)。 這通常是僅對網絡託管公司可見的基於文本的鏈接。
  2. 根據 Web 主機的要求為 Host HTTP、True-Client-IP HTTP 和 X-Proxy-Verification 設置請求標頭。
  3. 轉發域的 .well-known/acme-challenge/* 路由,或為域安裝自定義 TLS 證書。
  4. 允許您的網絡託管服務商的支持技術人員訪問站點。
  5. 為面向公眾的 URL 設置 DNS。
  6. 為您的團隊和網絡託管服務商記錄反向代理的詳細信息。

詳細了解 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 和反向代理的更多信息。