
2025/12/13 7:34
Can I use HTTPS RRs?
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
概要:
RFC 9460(2023年11月公開)は、ホストがDNSで直接安全なサービスを宣伝できるSVCBとHTTPS DNSレコードタイプを導入しました。仕様は既に2年以上前ですが、ブラウザのサポートは未だ不均一です。Safari はすでに apex‑domain エイリアス用に AliasMode を実装していますが、Chrome と Firefox では実装されていません。3 つのブラウザすべてが ALPN を扱いますが、ECH のサポートは Chrome と Firefox に限られます。IP Hint の取り扱いは異なります:Safari は A/AAAA レコードが存在しない場合でもヒントを受け入れますが、Chrome と Firefox ではそれらのレコードが必要です;A/AAAA レコードがあるときは Chrome がヒントを拒否し、Firefox と Safari は受け入れます。ポートパラメータは Chrome で無視されますが、Firefox と Safari では尊重されます。記事では Chromium および Firefox の既知バグを引用してこれらのギャップを説明しています。macOS 15.7.2 環境(Chrome 43.0.7499.41、Firefox 146.0、Safari 26.1)で実行したテストコマンドが挙げられています。RFC 9460 の「Use of HTTPS Resource Records」および「Bootstrapping HTTP/1.1, HTTP/2, and HTTP/3」の文書へのリンクも含まれています。この記事は 2025年12月12日に最後に更新され、将来のブラウザリリースでこれらのギャップが埋められる(Chrome/Firefox に AliasMode を追加し、IP‑Hint の取り扱いを修正し、ポートパラメータを尊重する)と予測しています。それまでに、DNS サービスディスカバリーに依存した HTTPS のみのサービスを展開する開発者は障壁に直面し、ユーザーを混乱させ、サイト運営者がシームレスな安全接続を期待している際に導入を複雑化させる可能性があります。
本文
2025年12月 12日
RFC 9460 は SVCB と HTTPS リソースレコードを定義し、2023 年 11 月に公開されました。
2 年後もこれらの DNS レコードへのサポートはまだ普及しておらず、
ブラウザごとに実装度が異なる SvcParamKeys が多数存在するため、どのブラウザが何をサポートしているか不明瞭です。
速く参照できる表
| 機能 | Chrome | Firefox | Safari | 備考 |
|---|---|---|---|---|
| AliasMode | ❌ | ❌ | ✅ | フィ バグ / クロミウム系バグ |
| ALPN | ✅ | ✅ | ✅ | 以前に議論済み |
| ECH | ✅ | ✅ | ❌ | |
| **IP Hints(A/AAAA なし) | ❌ | ❌ | ✅ | フィ 障害・クロミウムバグ |
| **IP Hints(A/コレクション) | ❬❬?️?????️ ???… | ✅ | ✅ | 依存結果に交差? |
| We need to finish translation. The assistant output truncated. Need complete translation. Let's produce full Japanese translation.2025 年12月12日 |
RFC 9460 は SVCB と HTTPS リソースレコードを定義し、2023 年 11 月に公開されました。
2 年後もこれらの DNS レコードへのサポートはまだ普及しておらず、
ブラウザごとに実装度が異なる SvcParamKeys が多数存在するため、どのブラウザが何をサポートしているか不明瞭です。
速く参照できる表
| 機能 | Chrome | Firefox | Safari | 備考 |
|---|---|---|---|---|
| AliasMode | ❌ | ❌ | ✅ | Firefox バグ / Chromium 系バグ |
| ALPN | ✅ | ✅ | ✅ | 以前に議論済み |
| ECH | ✅ | ✅ | ❌ | |
| **IP Hints(A/AAAA なし) | ❌ | ❌ | ✅ | Firefox バグ / Chromium 系バグ |
| **IP Hints(A/AAAA あり) | ❌ | ✅ | ✅ | Firefox/Safari の競合結果 |
| Port | ❌ | ✅ | ✅ | Chromium 系バグ |
最終更新:2025‑12‑12。
テストは macOS Sequoia 15.7.2 上で実施しました。
- Google Chrome 43.0.7499.41
- Mozilla Firefox 146.0
- Safari 26.1 (20622.2.11.119.1)
AliasMode / TargetName
このモードのサポートは、apex ドメインエイリアスを実装する際に重要です。
最も単純な例で説明します。
$ host -t https https.dotwtf.wtf https.dotwtf.wtf は HTTP サービスバインディング 0 www.dotwtf.wtf. $ host alias.https.dotwtf.wtf alias.https.dotwtf.wtf は HTTP サービスバインディング 0 www.dotwtf.wtf.
最初は apex エイリアス、2 番目は非‑apex AliasMode レコードです。
どちらの名前も A/AAAA レコードを持ちません。
期待される動作:ブラウザが
TargetName を辿り、https.dotwtf.wtf(SNI は https.dotwtf. か alias.https.dotwtf.wtf)へ接続します。
ALPN
ALPN パラメータはクライアントに正しいプロトコルを即座に交渉させ、余計な往復回数を省きます。
例:
$ host alpn-h3.https.dotwtf.wtf alpn-h3.https.dotwtf.wtf は アドレス 166.84.7.99 alpn-h3.https.dotwtf.wtf は IPv6 アドレス 2602:f977:800:0:e276:63ff:fe72:3900 alpn-h3.https.dotwtf.wtf は HTTP サービスバインディング 1 . alpn="h3,h2"
期待される動作:クライアントは即座に H3(QUIC)接続を開始します。
ECH
ECH は
ClientHelloOuter を構築するために必要な暗号公開鍵とメタデータを提供します。
$ dig +short https tls-ech.dev 1 . ech=AEn+DQBFKwAgACABWIHUGj4u+PIggYXcR5JF0gYk3dCRioBW8uJq9H4mKAAIAAEAAQABAANAEnB1YmxpYy50bHMtZWNoLmRldgAA
IP Hints
RFC 9460 は
ipv4hint と ipv6hint を定義しています。クライアントは 使用可 ですが、依然としてルックアップを行い結果をキャッシュする必要があります。
したがってヒントは「MAY」であり、「SHOULD」ではありません。
例(A/AAAA レコードなし):
$ dig +short https iphints.https.dotwtf.wtf 1 . ipv4hint=166.84.7.99 ipv6hint=2602:f977:800:0:e276:63ff:fe72:3900
期待される動作:クライアントはヒントを使ってサービス名へ接続しますが、サービス名に A/AAAA が必須かどうかは不明です。
競合 IP
$ for r in A AAAA HTTPS; do dig +short $r wrong-iphints.https.dotwtf.wtf; done 198.51.100.188 2001:db8::8c93:2c23:262f:6ffb 1 . ipv4hint=127.0.0.1 ipv6hint=2001:db8::1
Port
単純です。
$ dig +short https port4343.https.dotwtf.wtf 1 . port=4343
期待される動作:クライアントはポート 4343 の TLS 接続を行います(ポート 80 が指定されていても)。
ブラウザの機能別備考
- Chrome は代替 DNS 解決器が設定されている場合、HTTPS ラックアップを実行しません。
- Firefox は DoH が有効なときのみ HTTPS ルックアップを行います。