Domain-Name-System

使用 Route53 將頂點/根域指向 Heroku 應用程序

  • February 26, 2016

這是我在其他一些地方看到過的討論,但特別是這個問題並沒有被完全說明為不可能。

我想將一個頂級域指向一個 Heroku 應用程序 ( example.comto example.herokuapp.com)

CNAME 似乎不可能,因為它們在頂點級別是不允許的(子域很好)。

ALIAS 記錄似乎是一種選擇,即使我不完全理解它們,或者它們是否是標準的。我們使用 AWS Route53 作為我們的 DNS 提供商,但 ALIAS 記錄似乎只能用於特定的亞馬遜服務(s3 網站、負載均衡器、..)

那麼是否可以將頂級域指向 Heroku 應用程序?我唯一的選擇是使用其他 DNS 提供商嗎?

謝謝

編輯:我知道我可以 CNAMEwww.example.comexample.herokuapp.com,然後使用 ALIAS 記錄重定向到 ,以及重定向的 S3 站點example.comwww.example.com但我們想要的恰恰相反,我們希望瀏覽器顯示example.com.

別名記錄不是實際的 DNS 記錄類型——它們是指向 Route 53 中其他記錄的指針,因此別名記錄的目標只能是 S3 儲存桶、彈性負載均衡器、CloudFront 分配或相同的其他記錄A在您的託管區域中鍵入(例如,記錄)。Route 53 使用其內部數據庫查找目標並返回標準 DNS 響應。

因此,不能直接將別名指向外部目標。

如果您確實想將別名指向外部目標,則可以間接使用 CloudFront,因為 CloudFront 接受主機名 (example.herokuapp.com) 作為將轉發請求的源伺服器的名稱。它還允許您使用由 Amazon Certificate Manager 生成的 SSL 證書,並有選擇地將不同的路徑模式路由到不同的目標(例如路由/images/*到 S3 儲存桶)。如果您不希望,可以自定義或禁用 CloudFront 的記憶體行為。

當然,這會產生請求和頻寬的使用費,但會提供一些可能值得的額外功能,包括如果記憶體是您可以從中受益的,則可以減輕 Heroku 服務的負載。

但是,使用 www 主機名而不是裸域以及配置裸域以將傳入請求重定向到 www 是有正當理由的,這可以通過多種不同方式完成。

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