DNS HTTPSレコードのターゲット名が全然使えない話
※記事を書いた時点での話です
DNSのHTTPSというレコードが流行っている。ブラウザしか使わないが、ブラウザが使うので流行っている。
何が嬉しいかというと、Alt-Svcなしで開幕からHTTP/3が使えたり、ALPNなしで開幕からHTTP/2が使えたり、Strict-Transport-Securityヘッダなしで開幕からHSTSできたりということのようだ。
ところでHTTPSレコードのほかの機能として、ターゲット名というものがある。
これは何かというと、URLに含まれるホスト名と実際にA/AAAAレコードを解決してアクセスするホスト名を分離できる機能だ。
メールを知っている人ならMXレコードと言えば伝わるだろう。
例えば www.example.com
ドメインのHTTPSレコードとして 10 host1.example.com.
と 20 host2.example.com.
の2つを書く。数値は優先度だ。この状況で https://www.example.com
にアクセスすると、まず host1.example.com
へ接続し、ダメなら host2.example.com
に接続するという動作になる。
ターゲット名をドメイン名と同じにすることも当然できて、その場合は 10 .
などと書く。
そして、HTTPSレコードの利用目的としてターゲット名はほとんどないためか、多くの場合はこうなっていて、問題なく使えているようだ。
ではターゲット名を.
以外にするとどうなのかというと……どうも動かない。Chrome 122 (Vivaldi) とFirefox 124で試したのだが、HTTPSレコードを引くところまでは確認できた。しかし、そのあとターゲット名のA/AAAAを解決しているログがない。Safariなら対応しているのだろうか?
ちなみになぜターゲット名を.
以外にしているかと言えば、HTTPSレコードを書きたいドメイン名にCNAMEを書いているからだ。CNAMEがあるとほかのレコードは書けないし、CNAMEの先のドメインは変更権限がない。そこで自分が管理しているドメインにHTTPSレコードを書いてみたのだが。
追記:調べたらchromiumのバグトラッカーにあった。 https://issues.chromium.org/issues/40937306
「いつからRFC9460をフルサポートすると錯覚していた?」みたいな感じでwon't fixでクローズされている。
Firefoxのバグトラッカーにもある。 https://bugzilla.mozilla.org/show_bug.cgi?id=1869075 こっちはオープンなので今後直るかも。
Discussion