# 05. Web Domain Setting ________________________________________ DNSがよくわかる教科書 https://www.sbcr.jp/product/4797394481/ ________________________________________ ## 0. 用語集 ________________________________________ 用語集 ```text FQDN :サブドメイン~トップレベルドメインまでしっかり記載した完全なドメイン名のこと ドメイン名 :特に細かい文脈まで考慮せず説明する際の用語 naked ドメイン :wwwをつけないドメイン名のこと。≒取得したドメイン。2007年ごろ?からGoogle辺りがこの呼称を広めた ドメイン部 :≒取得したドメイン。ほぼ廃語 ホスト部 :伝統的なドメイン名を用意した場合のラストドメイン相当の部分。ほぼ廃語。wwwなど DNSレコード :別名リソースレコード。Aレコードなど、ドメイン設定する際のレコードの総称 バーチャルホスト:1つのWebサーバホスト内で、リクエストURLを見分けてドキュメントルートと紐づける手段 前提として、ブラウザからホストへの到達はURLに依らずIPによって行われる ホスト(あるいはその手前のリバースプロキシやLB)はSSLで暗号化された内容を復号し、Httpリクエスト自体(L7情報)を読み取れる状態にする (言い換えると、SSL暗号化されている区間はHttpリクエスト(L7情報)を読み取れず、L3~L6情報のみで通信が解決される) そしてホストはHttpリクエストのHOSTヘッダを読み取り、リクエストURLが判明する Webサーバはこの内容と設定ファイルのバーチャルホスト等の設定により、読み取るドキュメントルートを決める ``` ________________________________________ ## 1. DNSとドメイン設定 ________________________________________ やりたいこと ```text 1. あるレンタルサーバ事業者で、スペースとドメインを取得 2. 別のレンタルサーバ事業者で、VPSを構築した 3. 2で構築したVPSを、1で取得したドメインのサブドメインでアクセスできるようにする あるレンタルサーバ = Value-domain 別のレンタルサーバ = ConoHa ``` 各種意味 ```text Aレコード :ドメインに対する実際のIP MXレコード :ドメインに対するメールの許可。優先度はXX。転送先がAレコードと別にある場合のIP(省略可) TXTレコード :汎用設定。様々な用途に使われる SPF1 :このドメインからのメールアドレスは、このIPから送信されるはず(そうじゃないなら偽物) CNAMEレコード:エイリアスと本来のURL設定する。エイリアス側の内容は、他のレコードに存在してはならない(誤って設定した場合は動作不定) ※ Value domainの場合、DSNレコードそのものとは異なる書式になる すなわち以下のような書式になる a <サブドメインか@> mx <サブドメインか@> 10 <転送先IP・エイリアス等。省略可> txt <サブドメインか@> v=spf1 ip4: ~all @はそのドメインを指す *はそのドメインを含め、すべてのサブドメインに適用する設定となる *はサブドメインで別の設定にしたい場合、設定してはいけない ``` 設定例 ```text 1. Value-domainにログイン(Value serverではない) 2. ドメイン > ドメインの設定操作 > 該当ドメインの「DNS/URL」 3. DNS情報/URL転送の設定で、例えば以下のように設定 a @ 157.7.184.35 a www 157.7.184.35 a gitlab 150.95.151.169 mx @ 10 txt @ v=spf1 ip4:157.7.184.35 ~all 4. DNS設定が浸透するまで、1時間ぐらい待つ ``` 補足 ```text ・両サーバ事業者のドメイン設定が必要と言われるが、ドメイン発行者側だけでよい ・正確に言えば、ネームサーバをどこにするか決め、そのネームサーバにDNSレコードを設定(の依頼を)する ・VPSなどグローバルIPでアクセスできる状態のものなら、グローバルIPへ解決するようにドメインを設定すれば動く ・レンタルサーバ側でよくある「ドメインウェブの設定」などは、名前解決バーチャルホストの設定に相当する ・ドメイン設定とSSL設定は全く別である。VMまたはLBごとにSSLを設定する ・LB自体に証明書を適用するのではなくノード群に適用する場合は、それらは同じ証明書を使用するのが望ましい ・なお、ドメインとサブドメインなどドメインが完全一致しない場合は、別々に発行してよい ・ワイルドカードに対応した証明書発行なら、サブドメインでも同じ証明書を使用できる ```