dns.google ドメインでの DoH のリリースと Google Public DNS のよく知られているエニーキャスト IP アドレスでの DoH のリリースの一環として、他の IP アドレスを使用する dns.google.com ドメインでのベータ版 DoH サービスは非推奨になり、利用できなくなります。
RFC 8484 API の試験運用版バージョンも非推奨になりました。dns.google/experimental はサポートされていません。また、dns.google/experimental は dns.google/dns-query に移行される予定です。
タイムライン
日付 | 終了ステップ |
---|---|
dns.google.com/experimental は dns.google/dns-query にリダイレクトします - DONE |
|
dns.google.com は Google Public DNS のエニーキャスト IP アドレスに解決 – DONE |
|
2019-09-24 | dns.google.com の古い IP アドレスが dns.google にリダイレクトされる – DONE |
2020-06-23 | dns.google.com はどこでも dns.google にリダイレクトされる |
スケジュールの変更はこちらで更新され、public-dns-announce に投稿されます。 メーリング リストに登録して最新情報を入手してください。
- 2019 年 8 月 1 日(木曜日)
https://dns.google.com/experimental
のリクエストでは、https://dns.google/dns-query
への HTTP 301 リダイレクトが返されます。/resolve
の JSON API を使用する DoH アプリケーションは影響を受けません。Google DoH と連携するには、
/experimental
を使用するアプリケーションが次のいずれか 1 つ以上をサポートする必要があります。RFC 8484 DoH アプリケーションは、次の両方も実装する必要があります。
- 2019 年 8 月 21 日(水曜日)
dns.google.com
は、Google Public DNS エニーキャスト IP アドレスに解決されます。これはほとんどの DoH アプリケーションに対して透過的であり、変更の必要はありません。
- 2019 年 9 月 24 日(火曜日)
以前の dns.google.com IP アドレスに対する DoH クエリでは、
https://dns.google/
への HTTP 301 リダイレクトが返されます。これは、RFC 8484 または JSON API を使用する DoH アプリケーションに影響する可能性があります。
ハードコードされた、構成可能な、または永続的にキャッシュされた IP アドレスに DoH リクエストを送信するアプリケーションは、次のいずれかまたは両方をサポートする必要があります。
- 2020 年 6 月 23 日(火曜日)
エニーキャスト IP アドレスで dns.google.com に DoH クエリを行うと、dns.google への HTTP 301 リダイレクトが返されます。
これは、RFC 8484 または JSON API を使用する DoH アプリケーションに影響する可能性があります。
Google DoH と連携するには、アプリケーションで次のいずれか 1 つ以上をサポートする必要があります。
DoH クライアントに関する変更
HTTP リダイレクトに従う
DoH サーバーは、DNS クエリを処理する単なる HTTP サーバーです。そのため、HTTP リダイレクト(コード 301、302、307、または 308)を返すことがあり、DoH クライアントは他の HTTP クライアントと同様にこれらのリダイレクトに従う必要があります。
デベロッパーは、DoH URL のベースとして https://8.8.8.8/experimental
または https://8.8.8.8/resolve
を使用して HTTP リダイレクトのサポートを確認できます。これらは https://dns.google/dns-query
と https://dns.google/resolve
への HTTP 301 リダイレクトを返します(GET パラメータを維持します)。
Google DoH に dns.google ドメインを使用する
DoH アプリケーションでは、dns.google.com の代わりに dns.google を使用する必要があります。RFC 8484 と JSON API のどちらを使用する場合でも、ハードコードされた DoH リゾルバまたは構成されたリストを持つ DoH アプリケーションでは、URL または URI テンプレートで dns.google.com を dns.google に置き換える必要があります。
Google Public DNS エニーキャスト IP アドレスを使用する
ハードコードまたは構成済みの IP アドレスのリストに DoH リクエストを送信する DoH アプリケーションは、(ブートストラップのみであっても)dns.google.com の以前のアドレスを Google Public DNS エニーキャスト IP アドレスに置き換える必要があります。
構成用の URI テンプレート
DoH アプリケーションでは、エンドポイントに構成柔軟性を提供する必要があります。そのために推奨される標準的な方法は、URI テンプレートを使用することです。完全な構成が可能な DoH アプリケーション デベロッパーは、新しい URL(URI テンプレート: https://dns.google/dns-query{?dns}
)をユーザーに通知する必要があります。
RFC 8484 DoH に https://dns.google/dns-query
を使用する
ハードコードされた、または構成された DoH リゾルバのリストを持つ DoH アプリケーションは、インターネット ドラフト DoH API の https://dns.google.com/experimental
URL を https://dns.google/dns-query
に置き換え、RFC 8484 に完全に準拠していることを確認する必要があります。
/experimental
API(dns.google.com でのみ利用可能)は、ウェブセーフではない Base64 エンコードと application/dns-udpwireformat
コンテンツ タイプを使用するクエリを受け入れましたが、/dns-query
API によって拒否されました(dns.google でのみ利用可能)。これらの違いについて、以降の 2 つのセクションで説明します。
GET dns
パラメータに Base64Url エンコードを使用する
GET リクエストの dns
パラメータにウェブセーフの Base64Url エンコードを使用します。Base64(+
/
)は(-
_
)に置き換え、パディング(=
)文字を削除します。
同意して application/dns-message
を送信します
Accept ヘッダーで application/dns-message
を使用し(RFC 8484 POST の場合は Content-Type ヘッダーで)、レスポンスの Content-Type として受け入れます。
POST に古い Content-Type を使用すると、415 Unsupported Media Type で失敗します。
Accept ヘッダーで古い Content-Type を使用しているアプリケーションは、Content-Type application/dns-message でレスポンスを受け取ります。これらを受け入れ、予期しない Content-Type のために無視しない DoH アプリケーションは、引き続き機能します。