Help us understand the problem. What is going on with this article?

よく聞く呪文CNAME・Aレコード・リダイレクトについてまとめる

More than 3 years have passed since last update.

よく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は古いまま(一時的)
masarufuruya
Webメインのフリーランスエンジニア。React Nativeでアプリ作ってます。React/React Native/Vue/Ruby/PHP
engineerlife
技術力をベースに人生を謳歌する人たちのコミュニティです。
https://community.camp-fire.jp/projects/view/280040
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away