Domain-Name-System
有沒有更好的方法來重定向我客戶的域?
我在一台伺服器上為我的客戶提供多個網站。在開發過程中,我只是在自己的域上創建一個子域。例子
client.mydomain.example
。通常,我的客戶已經擁有另一個提供商的域和電子郵件。我不想為我的客戶託管電子郵件。我嘗試了三種不同的方式來設置 DNS:
- 使 HTTP 重定向 from
clientdomain.example
towww.clientdomain.example
和 CNAME 記錄www.clientdomain.exmple
指向我的伺服器上的臨時子域client.mydomain.example
。- 有一條來自
(*.)clientdomain.tld
我的伺服器 IP 的 A 記錄,但讓 MX 等指向他們目前的電子郵件主機。- 設置我自己的名稱伺服器並將其用於我客戶的域。然後按照與2相同的方式設置。
據我所知,這三個都有優點和缺點:
- **優點:**方便。我可以更改我伺服器上的 IP 地址、移動到另一個 serverpark、設置故障保護、負載平衡等等。
**缺點:**我強迫我的客戶使用
www
,如果他們已經有一個網站,non-www
他們可能會遭受 SEO-vise(?)。此外,額外的 CNAME 記錄不利於頁面速度。 2. **優點:**沒有 SEO 或頁面速度問題。易於設置。**缺點:**如果我需要更改 IP,我需要為我的所有客戶端站點進行 DNS 更改。 3. **優點:**沒有 SEO 或頁面速度問題。如果我需要更改伺服器,我可以一次為我的所有客戶端站點執行此操作,因為 DNS 設置可以方便地在我自己的名稱伺服器上設置。
**缺點:**我需要執行自己的名稱伺服器。我還必須為我的客戶設置 MX 記錄和可能的其他 DNS 記錄。
我現在首選的方法是 1. 因為我認為在我的大多數情況下利大於弊。
有沒有其他方法可以在不指定 IP 地址的情況下從域重定向到伺服器?
澄清:解決方案 1 對我有用,但由於在進入最終 A 記錄之前有兩個步驟,所以它比較慢。理想情況下,我想同時指向
non-www
和www
指向我的伺服器域,但據我所知,這對於 CNAME 記錄是不可能的,對吧?
請注意, a
CNAME
根本不是 HTTP 重定向。
- 這裡只有重定向是從
example.com
到www.example.com
,它可以永久化。額外CNAME
的在 DNS 級別,將被記憶體,因此它不會真正影響站點性能或速度。- 無論誰託管 DNS,您的 Web 伺服器都需要了解客戶端域。
這就是為什麼我更喜歡你的案例#1,更好地理解:
- 如有必要,指導您的客戶添加
www.example.com. CNAME client.example.net.
以能夠自行更改 IP 地址。- 建議如何在他們目前的 Web 伺服器上進行從非 www 到 www 的重定向。
- 將實際域名綁定到您
client.example.net
的網路伺服器配置中。對於案例#3,您不僅最終會在技術上託管 DNS 伺服器,而且還負責在客戶端需要新的第三方記錄時進行更新。