Sebagai bagian dari peluncuran DoH di domain dns.google dan alamat IP anycast yang terkenal untuk Google Public DNS, layanan DoH Beta pada domain dns.google.com yang menggunakan alamat IP lain kini tidak digunakan lagi dan akan dinonaktifkan.
Versi eksperimental dari RFC 8484 API juga tidak digunakan lagi; dns.google/experimental tidak didukung, dan dns.google/experimental akan dimigrasikan ke dns.google/dns-query.
Rentang waktu
Tanggal | Langkah penghentian |
---|---|
dns.google.com/experimental dialihkan ke
dns.google/dns-query – DONE |
|
dns.google.com me-resolve ke alamat IP
anycast Google Public DNS – DONE |
|
2019-09-24 | Alamat IP lama untuk dns.google.com dialihkan ke dns.google – DONE |
2020-06-23 | dns.google.com dialihkan ke dns.google di mana saja |
Perubahan pada linimasa ini akan diperbarui di sini dan diposting ke public-dns-announce. Berlangganan ke milis volume rendah untuk mendapatkan info terbaru.
- Kamis, 1 Agustus 2019
Permintaan untuk
https://dns.google.com/experimental
mendapatkan pengalihan HTTP 301 kehttps://dns.google/dns-query
.Aplikasi DoH yang menggunakan JSON API di
/resolve
tidak akan terpengaruh.Agar berfungsi dengan DoH Google, aplikasi yang menggunakan
/experimental
harus mendukung setidaknya salah satu hal berikut:Aplikasi RFC 8484 DoH juga harus mengimplementasikan kedua hal berikut:
- Rabu, 21 Agustus 2019
dns.google.com
me-resolve ke alamat IP anycast Google Public DNS.Hal ini transparan untuk sebagian besar aplikasi DoH, tanpa perlu perubahan.
- Selasa, 24 September 2019
Kueri DoH ke alamat IP lama dns.google.com mendapatkan pengalihan HTTP 301 ke
https://dns.google/
.Hal ini dapat memengaruhi aplikasi DoH yang menggunakan RFC 8484 atau JSON API.
Aplikasi yang mengirim permintaan DoH ke alamat IP yang di-hardcode, dapat dikonfigurasi, atau di-cache secara permanen harus mendukung salah satu atau kedua hal berikut:
- Selasa, 23 Juni 2020
Kueri DoH ke dns.google.com pada alamat IP anycast mendapatkan pengalihan HTTP 301 ke dns.google.
Hal ini dapat memengaruhi aplikasi DoH yang menggunakan RFC 8484 atau JSON API.
Agar berfungsi dengan DoH Google, aplikasi harus mendukung setidaknya salah satu hal berikut:
Perubahan untuk klien DoH
Mengikuti pengalihan HTTP
Server DoH adalah server HTTP yang menangani kueri DNS. Dengan demikian, klien tersebut mungkin menampilkan pengalihan HTTP (kode 301, 302, 307, atau 308), dan klien DoH harus mengikuti pengalihan tersebut seperti klien HTTP lainnya.
Developer dapat memeriksa dukungan pengalihan HTTP dengan https://8.8.8.8/experimental
atau https://8.8.8.8/resolve
sebagai dasar untuk URL DoH mereka; URL ini menampilkan pengalihan HTTP 301 ke https://dns.google/dns-query
dan https://dns.google/resolve
(dengan mempertahankan parameter GET apa pun).
Gunakan domain dns.google untuk Google DoH
Aplikasi DoH harus menggunakan dns.google, bukan dns.google.com. Baik menggunakan RFC 8484 atau JSON API, semua aplikasi DoH dengan daftar resolver DoH yang di-hard code atau dikonfigurasi harus mengganti dns.google.com dengan dns.google di URL atau template URI apa pun.
Gunakan alamat IP anycast Google Public DNS
Aplikasi DoH yang mengirim permintaan DoH ke daftar alamat IP yang di-hard code atau dikonfigurasi (bahkan hanya untuk bootstrap) harus mengganti alamat lama dns.google.com dengan alamat IP anycast Google Public DNS.
Template URI untuk konfigurasi
Aplikasi DoH harus menyediakan kemampuan konfigurasi untuk endpoint; cara yang lebih disukai dan
standar untuk melakukannya adalah dengan template URI. Developer aplikasi DoH dengan kemampuan konfigurasi lengkap harus memberi tahu pengguna tentang URL baru (template URI: https://dns.google/dns-query{?dns}
).
Gunakan https://dns.google/dns-query
untuk RFC 8484 DoH
Aplikasi DoH dengan daftar resolver DoH yang di-hard code atau dikonfigurasi harus mengganti URL https://dns.google.com/experimental
untuk DoH API draf internet dengan https://dns.google/dns-query
dan mengonfirmasi kepatuhan RFC 8484 lengkap.
/experimental
API (hanya tersedia di dns.google.com) menerima kueri
yang menggunakan encoding Base64 non-websafe dan jenis konten application/dns-udpwireformat
yang ditolak oleh /dns-query
API (hanya tersedia di dns.google).
Perbedaan tersebut dijelaskan dalam dua bagian berikut.
Gunakan encoding Base64Url untuk parameter GET dns
Gunakan encoding Base64Url websafe untuk parameter dns
dalam permintaan GET, dengan mengganti Base64 (+
/
) dengan (-
_
) dan menghapus karakter padding (=
).
Terima dan kirim application/dns-message
Gunakan application/dns-message
di header Accept (dan untuk RFC 8484 POST, di header Content-Type) lalu
terima sebagai Content-Type of response.
Menggunakan Jenis Konten lama untuk POST akan gagal dengan kode 415 Jenis Media yang Tidak Didukung.
Aplikasi yang menggunakan Content-Type lama di header Accept akan mendapatkan respons dengan Content-Type application/dns-message. Aplikasi DoH yang menerima ini, dan tidak mengabaikannya karena Jenis Konten yang tidak diharapkan, akan tetap berfungsi.