Labee Dev Toolbox
技術ノートガイド用語解説
無料で試す
  1. ホーム
  2. / 用語解説
  3. / SVCB / HTTPS レコード
DNS

SVCB / HTTPS レコード

2026年4月23日 更新

概要

SVCB レコード(Service Binding) と HTTPS レコード は、サービスの接続パラメーターを DNS で公開するためのレコードです。RFC 9460(2023年)で標準化されており、SVCB のレコードタイプ番号は 64、HTTPS のレコードタイプ番号は 65 です。

HTTPS レコードは SVCB の HTTPS 特化型(SVCB の「HTTPS スキーム」バインディング)であり、構造は同じです。HTTPS レコードにより、クライアントは DNS 応答だけで接続先の IP アドレス、対応プロトコル(HTTP/2、HTTP/3)、TLS の暗号化パラメーターなどを事前に取得できます。従来は HTTP の接続開始後に追加のラウンドトリップで取得していた情報を DNS クエリ 1 回に集約でき、接続の高速化につながります。

仕組み

SVCB / HTTPS レコードは AliasMode と ServiceMode の 2 つのモードを持ち、SvcParams で接続先の詳細情報を配信します。

レコードの構造

SVCB / HTTPS レコードには AliasMode と ServiceMode の 2 つのモードがあります。

; AliasMode (SvcPriority = 0)
example.com.  IN  HTTPS  0 cdn.example.net.

; ServiceMode (SvcPriority >= 1)
example.com.  IN  HTTPS  1 . alpn=h2,h3 ipv4hint=93.184.216.34 ipv6hint=2606:2800:21f:cb07::
フィールド説明
SvcPriority優先度。0 は AliasMode、1 以上 は ServiceMode
TargetNameサービスを提供するサーバーのホスト名。ServiceMode で . を指定するとオーナー名自身を意味する
SvcParamsキーバリュー形式のサービスパラメーター(ServiceMode のみ)

AliasMode

SvcPriority が 0 の場合は AliasMode です。ゾーンの頂点(Apex ドメイン)から別のホスト名へのエイリアスを作成します。

example.com.  IN  HTTPS  0 cdn.example.net.

RFC 1035 ではゾーンの頂点に CNAME を設定できませんが、HTTPS レコードの AliasMode を使うと、CNAME と同等のエイリアス機能を実現できます。Cloudflare、Apple、Google がこの方法で Apex ドメインのエイリアスを実装しています。

ServiceMode

SvcPriority が 1 以上 の場合は ServiceMode です。サービスパラメーターを含みます。

example.com.  IN  HTTPS  1 . alpn=h2,h3 ipv4hint=93.184.216.34
example.com.  IN  HTTPS  2 backup.example.com. alpn=h2

SvcPriority の値が小さいレコードが優先されます。上記の例では Priority 1 のレコードが優先的に使用され、接続に失敗した場合に Priority 2 のレコードが使われます。

SvcParams(サービスパラメーター)

ServiceMode で指定できるパラメーターは RFC 9460 で定義されています。

パラメーター説明
alpnApplication-Layer Protocol Negotiation。対応するプロトコルのリスト(h2、h3)
no-default-alpnデフォルトの ALPN を使わないことを明示する
portサービスのポート番号(デフォルトの 443 以外を使う場合)
ipv4hintサーバーの IPv4 アドレスのヒント。A レコードの問い合わせを省略できる
ipv6hintサーバーの IPv6 アドレスのヒント
echEncrypted Client Hello の設定情報(ECHConfig)

HTTP/3 の自動検出

alpn=h3 を含む HTTPS レコードが返ると、対応するブラウザーは最初から HTTP/3(QUIC)での接続を試みます。従来は Alt-Svc ヘッダーを受け取るまで HTTP/3 を使えませんでしたが、HTTPS レコードにより初回アクセスから HTTP/3 で接続できます。Chrome、Firefox、Safari はすべてこの動作に対応しています。

Encrypted Client Hello(ECH)

ECH は TLS ハンドシェイクの Client Hello メッセージを暗号化し、接続先のホスト名(SNI)を第三者から隠す技術です。HTTPS レコードの ech パラメーターで ECHConfig を配信します。

example.com.  IN  HTTPS  1 . alpn=h2,h3 ech=AEX+DQBBuwA...

ECH が有効な場合、クライアントは HTTPS レコードから ECHConfig を取得し、Client Hello の暗号化に使います。DNSSEC で HTTPS レコードの真正性を検証するとより安全です。

設定例

用途に応じた HTTPS レコードの記述パターンを示します。

基本的な HTTPS レコード

example.com.  IN  HTTPS  1 . alpn=h2,h3 ipv4hint=93.184.216.34 ipv6hint=2606:2800:21f:cb07::

HTTP/2 と HTTP/3 に対応し、IP アドレスのヒントを含む構成です。

Apex ドメインのエイリアス

example.com.  IN  HTTPS  0 cdn.example.net.

Apex ドメインへのアクセスを CDN にルーティングします。

冗長構成

example.com.  IN  HTTPS  1 primary.example.com. alpn=h2,h3
example.com.  IN  HTTPS  2 secondary.example.com. alpn=h2

Priority 1 のサーバーが優先され、障害時に Priority 2 にフォールバックします。

Cloudflare の HTTPS レコード

Cloudflare はプロキシが有効なドメインに対して HTTPS レコードを自動的に付与します。

example.com.  IN  HTTPS  1 . alpn=h3,h2 ipv4hint=104.16.132.229 ipv6hint=2606:4700::6810:84e5

確認方法

dig で HTTPS レコードを確認するには次のコマンドを使います。

dig HTTPS example.com

出力の ANSWER SECTION に SvcPriority、TargetName、SvcParams が表示されます。

;; ANSWER SECTION:
example.com.		300	IN	HTTPS	1 . alpn="h3,h2" ipv4hint=104.16.132.229 ipv6hint=2606:4700::6810:84e5

SVCB レコードを確認する場合は HTTPS の代わりに TYPE64 を指定します。dig のバージョンによっては SVCB キーワードが使えないため、TYPE64 で直接指定します。

dig TYPE64 example.com

+short オプションでパラメーターの値だけを確認する方法も有用です。

dig HTTPS example.com +short
1 . alpn="h3,h2" ipv4hint=104.16.132.229 ipv6hint=2606:4700::6810:84e5

特定のネームサーバーに直接問い合わせるには @ でサーバーを指定します。

dig HTTPS example.com @8.8.8.8

Labee Dev Toolbox の DNS API は現在 SVCB / HTTPS レコードタイプに対応していないため、dig コマンドで確認します。

よくある問題

HTTPS レコードは比較的新しいレコードタイプであるため、リゾルバーの互換性やパラメーターの整合性に関する問題が発生しやすい領域です。

古い DNS リゾルバーが HTTPS レコードを返さない

HTTPS レコード(タイプ 65)は 2023 年に RFC 化された新しいレコードタイプであるため、古い DNS ソフトウェアやファイアウォールがこのレコードタイプを認識せずにドロップすることがあります。クライアントは HTTPS レコードの取得に失敗しても、従来の A / AAAA レコードにフォールバックして接続できます。

AliasMode のループ

HTTPS レコードの AliasMode が別のドメインを指し、そのドメインの HTTPS レコードが元のドメインを指すと、循環参照が発生します。RFC 9460 ではクライアントがループを検出して接続を中断することを規定していますが、デバッグが難しくなります。AliasMode のターゲットが ServiceMode の HTTPS レコードまたは A / AAAA レコードを持つことを確認します。

ipv4hint / ipv6hint と実際の A / AAAA レコードの不一致

ipv4hint や ipv6hint はクライアントへのヒントであり、正式な IP アドレスは A / AAAA レコードが権威です。ヒントの IP アドレスが古いと、クライアントが最初に接続するサーバーと実際のサーバーが異なり、接続が遅延することがあります。IP アドレスを変更する際は A / AAAA レコードと同時に HTTPS レコードのヒントも更新します。

ECH パラメーターの設定ミスでTLS ハンドシェイクが失敗する

ech パラメーターに設定した ECHConfig がサーバー側の設定と一致しない場合、TLS ハンドシェイクが失敗します。ECH をサポートするクライアントは GREASE ECH(RFC 8701)にフォールバックしますが、サーバーが ECH を正しくリトライするよう設定されていないと接続が切断されます。ECH の設定はサーバー側の TLS スタックの対応状況を十分に確認してから有効にします。

実際のドメインで確認してみる

登録不要、無料です。ドメイン名を入れるだけで外部からの見え方を確認できます。

無料で試す

関連用語

DNS

DNS レコード

ドメイン名と IP アドレスやサービス情報を紐づける DNS データベースのエントリ。A・MX・TXT など用途別に型が分かれる。

DNS

A レコード

ドメイン名を IPv4 アドレスに対応付ける DNS レコード。ウェブサイト公開の最も基本的な設定。

DNS

AAAA レコード

ドメイン名を IPv6 アドレスに対応付ける DNS レコード。IPv4 アドレス枯渇に伴い設定の必要性が増加。

DNS

CNAME レコード

ドメイン名を別のドメイン名にエイリアスする DNS レコード。CDN やクラウドサービスとの連携で多用される。

SSL

TLS 1.3

2018年標準化の最新TLSバージョン。ハンドシェイクを1-RTTに短縮し、Forward Secrecyを必須化しています。

コンテンツ 技術ノート ガイド 用語解説
ツール ツール一覧 API Reference
Labee 日本語トップ Labee LLC
© 2026 Labee LLC . All rights reserved.
ホーム ブログ ガイド 用語集