🍣

DNS HTTPSレコードのターゲット名が全然使えない話

2024/04/17に公開

※記事を書いた時点での話です

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