В рамках запуска DoH в домене dns.google и широко известных Anycast IP-адресов для Google Public DNS бета- сервис DoH в домене dns.google.com с использованием других IP-адресов устарел и будет отключен. .
Экспериментальная версия API RFC 8484 также устарела; dns.google/experimental не поддерживается, а dns.google.com/experimental будет перенесен в dns.google/dns-query.
График
Дата | Шаг настройки |
---|---|
dns.google.com/experimental перенаправляет на dns.google/dns-query – DONE | |
dns.google.com преобразуется в произвольные IP-адреса общедоступного DNS Google – DONE | |
2019-09-24 | Старые IP-адреса для перенаправления dns.google.com на dns.google – DONE |
2020-06-23 | dns.google.com везде перенаправляет на dns.google |
Изменения в этой временной шкале обновляются здесь и публикуются в public-dns-announce . Подпишитесь на этот небольшой список рассылки для получения обновлений.
- Четверг, 1 августа 2019 г.
Запросы
https://dns.google.com/experimental
получают перенаправление HTTP 301 наhttps://dns.google/dns-query
.Приложения DoH, использующие JSON API в
/resolve
не затронуты.Для работы с Google DoH приложения, использующие
/experimental
должны поддерживать хотя бы одно из следующего:Приложения RFC 8484 DoH также должны реализовывать оба следующих компонента:
- Среда, 21 августа 2019 г.
dns.google.com
преобразуется в произвольные IP-адреса общедоступного DNS Google .Это прозрачно для большинства приложений DoH и не требует никаких изменений.
- Вторник, 24 сентября 2019 г.
Запросы DoH к бывшим IP-адресам dns.google.com получают перенаправление HTTP 301 на
https://dns.google/
.Это может повлиять на приложения DoH, использующие API RFC 8484 или JSON.
Приложения, которые отправляют запросы DoH на жестко запрограммированные, настраиваемые или постоянно кэшированные IP-адреса , должны поддерживать одно или оба из следующих действий:
- Вторник, 23 июня 2020 г.
Запросы DoH на dns.google.com на произвольных IP-адресах получают перенаправление HTTP 301 на dns.google.
Это может повлиять на приложения DoH, использующие API RFC 8484 или JSON.
Для работы с Google DoH приложения должны поддерживать хотя бы одно из следующего:
Изменения для клиентов DoH
Следуйте HTTP-перенаправлениям
Серверы DoH — это просто HTTP-серверы, обрабатывающие DNS-запросы. Таким образом, они могут возвращать перенаправления HTTP (коды 301, 302, 307 или 308), и клиенты DoH должны следовать этим перенаправлениям, как и любой другой клиент HTTP.
Разработчики могут проверить поддержку перенаправления HTTP, используя https://8.8.8.8/experimental
или https://8.8.8.8/resolve
в качестве основы для своих URL-адресов DoH; они возвращают перенаправления HTTP 301 на https://dns.google/dns-query
и https://dns.google/resolve
(с сохранением всех параметров GET).
Используйте домен dns.google для Google DoH
Приложения DoH должны использовать dns.google вместо dns.google.com. Независимо от того, используете ли вы RFC 8484 или JSON API, любые приложения DoH с жестко закодированным или настроенным списком преобразователей DoH должны заменять dns.google.com на dns.google в любых URL-адресах или шаблонах URI.
Использовать произвольные IP-адреса Google Public DNS
Приложения DoH, которые отправляют запросы DoH на жестко закодированный или настроенный список IP-адресов (даже просто для начальной загрузки), должны заменить прежние адреса dns.google.com на произвольные IP-адреса Google Public DNS .
Шаблоны URI для настройки
Приложения DoH должны обеспечивать возможность настройки конечных точек; предпочтительный и стандартный способ сделать это — использовать шаблоны URI . Разработчики приложений DoH с полной настраиваемостью должны уведомить пользователей о новом URL-адресе (шаблон URI: https://dns.google/dns-query{?dns}
).
Используйте https://dns.google/dns-query
для RFC 8484 DoH.
Приложения DoH с жестко закодированным или настроенным списком преобразователей DoH должны заменить https://dns.google.com/experimental
URL-адрес интернет-проекта DoH API на https://dns.google/dns-query
и подтвердить полное соответствие RFC 8484.
API /experimental
(доступен только на dns.google.com) принимает запросы с использованием небезопасной для веб-безопасности кодировки Base64 и типа контента application/dns-udpwireformat
, которые отклоняются API /dns-query
(доступен только на dns.google). Эти различия описаны в следующих двух разделах.
Используйте кодировку Base64Url для параметра GET dns
.
Используйте веб-безопасную кодировку Base64Url для параметра dns
в запросах GET, заменяя Base64 ( +
/
) на ( -
_
) и удаляя символы заполнения ( =
).
Принять и отправить application/dns-message
Используйте application/dns-message
в заголовке Accept (а для RFC 8484 POST — в заголовке Content-Type) и примите его как Content-Type ответов.
Использование старого типа контента для POST завершится неудачей с 415 неподдерживаемым типом носителя.
Приложения, использующие старый Content-Type в заголовке Accept, будут получать ответы с Content-Type application/dns-message. Приложения DoH, которые принимают их и не игнорируют из-за неожиданного типа контента, все равно будут работать.