HTTPSレコードとは
- HTTPSを使うこと
- HTTPのバージョン
- WebサーバのIPアドレス
- Client Helloの値?
なんかを書いておける最近できたばかりの便利なDNSのレコードです。
今のところブラウザはiPhoneのSafariが対応していているようです。
とりあえず、設定してみる
KnotDNSが3.1.0でHTTPSレコードに対応したので、さっそく書いてみました。
もともと、
www.example.org. IN CNAME 3rdparty.example.jp.
となっていたので、
www.example.org. IN CNAME 3rdparty.example.jp.
www.example.org IN HTTPS 1 .
と設定して満足しました。
しばらくして
あれれ、サイトが見えないとの連絡が・・・。
あわてて、ログを確認すると、
info: [example.org.] zone will be loaded
error: [example.org.] check, node www.example.org., more records exist at CNAME
error: [example.org.] zone loader, failed to load zone, file '/var/lib/knot/zones/example.org.zone' (semantic check)
error: [example.org.] failed to parse zone file (failed)
error: [example.org.] zone event 'load' failed (failed)
おっと~! なんかエラー出てますやん。
あいや~。まさかの、CNAMEの制約。
CNAMEは他のレコードタイプと同居できないのです。
こんな基本的なところを見落とすとは。
新しいHTTPSレコードに浮かれすぎてたのと、一緒に設定した他のサイトはAレコードで登録されてたので、うっかり気付かずにやっちゃいました。
Zone Apexには使えないCNAMEと違って、HTTPSレコードは
example.org IN SOA ....
example.org IN NS ns1.example.org.
example.org IN HTTPS 1 3rdparty.example.jp.
というように、他のレコードと共存しても大丈夫ですよ、
ということなのですが、CNAMEとだけは共存できないのですね~。
あたりまえですが、はまりました。
結論
CNAMEがあると、HTTPSレコードは書けません。