Domain-Name-System

如何在 Azure/EC2 上設置不使用 www 前綴的域

  • January 17, 2014

假設我有一個域 foo.com,其中有一系列頁面,例如foo.com/123foo.com/456。我想使用該域並提供不帶www前綴的連結。這些頁面也將具有指向其他頁面(以及彼此)的連結,而無需www前綴。

我使用 Azure 來託管我們的站點,這與 EC2 相同,因為伺服器環境是虛擬化的,因此域不能有 A 記錄。因此,Microsoft 和 Amazon 都告訴您使用 CNAME 記錄將您的域指向他們管理的 A 記錄。對於 Azure,我的 CNAME 記錄指向 cloudapp.net 記錄(由微軟管理):

foo.com  CNAME  foo.cloudapp.net

foo.cloudapp.net我在 Azure 上設置的域在哪裡。

我遇到了各種各樣的問題,比如電子郵件傳遞和各種人無法載入網站。2 個不同的名稱伺服器提供商和我的主機告訴我,將根域作為 CNAME 條目違反了 RFC,這就是為什麼我的問題是零星的。

聽到這個消息我感到很驚訝,因為您現在看到這麼多站點託管在 EC2 或 Azure 上,並且不使用www前綴。這些網站是如何設置的,以便他們可以只使用foo.com(不帶www前綴)?

更新:當我詢問有關 EC2 或 Azure 的問題時,我專門尋找有關 Azure 的資訊。

在 EC2 上執行的網站可以通過區域頂點或裸域(如帶有 A 記錄的“example.com”)提供服務。伺服器在虛擬機中執行的事實對此沒有影響。許多網站都這樣做,包括我的大部分網站。

如果您正在使用需要 CNAME 的服務,例如 Amazon 的 Elastic Load Balancer,那麼您不能使用區域頂點或裸域(例如“example.com”)指向它,因為 CNAME 不能與裸域一起使用。這是 DNS 規範的限制,與雲或虛擬化實施無關。

只要您使用 Amazon 的 Route53 DNS 服務為該區域託管 DNS,您仍然可以將 Amazon 的 Elastic Load Balancer 與區域頂點或裸域(如“example.com”)一起使用。Amazon 使用技巧將 A 記錄動態映射到 CNAME 返回的結果,符合 DNS 規範,同時提供 ELB 需要提供的靈活性和功能。

http://aws.typepad.com/aws/2011/05/elastic-load-balancing-ipv6-zone-apex-support-additional-security.html

我對 Azure 一無所知。您嘗試使用它的方式違反了 DNS 規範。

引用自:https://serverfault.com/questions/328012