[解決済み] Herokuアプリを指すapexドメイン(wwwなし)のDNSを設定するにはどうすればよいですか?
質問
Herokuアプリにカスタムドメインを追加しました。
www.domain.com
.
を使用せずにドメインを設定する方法を知りたいのですが。
www
をアプリに解決する方法も教えてください。
現在のDNSの設定はこちらです。
$TTL 86400
@ IN SOA ns1.first-ns.de. postmaster.robot.first-ns.de. (
2013041500 ; serial
14400 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum
@ IN NS robotns3.second-ns.com.
@ IN NS robotns2.second-ns.de.
@ IN NS ns1.first-ns.de.
@ IN A 88.198.38.XXX
localhost IN A 127.0.0.1
mail IN A 88.198.38.XXX
ftp IN CNAME www
imap IN CNAME www
loopback IN CNAME localhost
pop IN CNAME www
relay IN CNAME www
smtp IN CNAME www
www IN CNAME appname.herokuapp.com.
@ IN MX 10 mail
の両方が正しく動作するようにするには、どのような設定をすればよいでしょうか。
example.com
と
www.example.com
は私のHerokuアプリを正しく指すのでしょうか?
どのように解決するのですか?
(注:ルート、ベース、エイペックスドメインはすべて同じものです。google-fooのために互換的に使用)。
伝統的に、頂点ドメインを指定するために、サーバーのIPを指すAレコードを使用することになります。このソリューションはスケールしませんし、Herokuのような、複数のバックエンドがリクエストに応答する責任を負い、頻繁に変更されるクラウドプラットフォームでは実行できません。
サブドメイン(たとえば
www.example.com
のような) サブドメインでは、CNAME レコードを使用して
your-app-name.herokuapp.com
. ここから先は、Heroku が動的な A レコードを管理します。
your-app-name.herokuapp.com
の後ろにある動的なAレコードを管理し、常に最新の状態になるようにします。残念ながら、DNSの仕様上、ゾーンの頂点(ベースドメイン)にはCNAMEレコードを置くことができません。(例えば、MXレコードはCNAMEが先にターゲットに続いてしまうため、壊れてしまいます)。
ルートドメインに戻ると、単純で一般的な解決策は、それらをまったく使用しないことです。代替措置として、一部の DNS プロバイダーは、HTTP リダイレクトをセットアップすることを提供しています。その場合、次のように設定します。
example.com
への HTTP リダイレクトを設定します。
www.example.com
.
いくつかのDNSプロバイダーは、ゾーン頂点でCNAMEのような動作を可能にするカスタムソリューションを打ち出しています。私の知る限りでは DNSimpleのALIASレコード と DNSMadeEasyのANAMEレコード は、どちらも同じような動作をします。
これらを使って、レコードを次のように設定することができます (ゾーンファイル表記法を使用します。これはおそらくウェブユーザーインターフェイスで行うことになるでしょう)。
@ IN ALIAS your-app-name.herokuapp.com.
www IN CNAME your-app-name.herokuapp.com.
記憶する
@
は、ルートドメイン (
example.com
). また、末尾のドットは、ゾーンファイルやいくつかのWebユーザーインターフェースの両方で重要であることに留意してください。
こちらもご覧ください。
備考
-
AmazonのRoute 53にもALIASレコードタイプがありますが、AWS内のポイントにしか使えないという点で、やや制限されています。現時点では、Herokuのセットアップにこれを使用することはお勧めしません。
-
DNSプロバイダーとドメイン名レジストラを混同している人がいますが、これは、両方を提供している会社が少し重複しているためです。DNS を前述のプロバイダーの 1 つに切り替えるには、現在のドメイン レジストラでネーム サーバー レコードを更新するだけでよいことに留意してください。ドメイン登録を転送する必要はありません。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン