よくAレコード設定しておいて。これはCNAMEに追加すればいけるな・・・などエンジニア界隈の人間は呪文を唱えます。
でも、ぶっちゃけ何それ?と自分は思っていた時期がありました。そんな時にまとめたメモ。
AレコードとCNAMEの違い
- Aレコード = グローバルIPアドレスとドメインを1:1で対応させる設定のこと
- CNAME = グローバルIPアドレスのドメイン名の別名のこと
以下のように設定することで、1つのグローバルIPで異なるドメイン名からアクセスすることが出来る。
furuya.jp IN A 170.12.12.123 → 170.12.12.123にfuruya.jpを対応付け
furuya.jp IN CNAME furuya.com → furuya.jpに別名のfuruya.comを設定
furuya.jp IN CNAME furuya.vn → furuya.jpに別名のfuruya.vnを設定
furuya.jp IN CNAME furuya.in → furuya.jpに別名のfuruya.inを設定
上記のドメインを全てAレコードで対応付けしていると、IPアドレスが変わった時に全て変更する必要があるが、CNAMEにしておくと1つ目のAレコードを変更するだけですむ。
リダイレクトについて
サーバーの移転などで今まで.jpでアクセスしていたサイトを.comへリダイレクトさせたい等の要望は多い。でも一言でリダイレクトといっても色々ある。
- 同一サーバーの場合は、サーバーの設定でリダイレクトが無難
- apacheの場合はmod_rewrite, .htaccess
- nginxの場合は以下の記述で301リダイレクトが可能
- 他にも色々あったけど、ど忘れしたので後で追記する
301リダイレクトと302リダイレクトの違い
- 301リダイレクトは旧URLは表示せず、新サイトをインデックス(永久的)。旧サイトの情報は引き継ぐ
- 302リダイレクトは新サイトをインデックスするが、URLは古いまま(一時的)