Sudah pindah server, tapi yang terbuka masih halaman lama
Website baru selesai. Malam itu juga dipindahkan ke server baru, dicek dari laptop kantor, semuanya normal.
Paginya klien menelepon. Di HP dia yang muncul masih halaman lama, lengkap dengan nomor telepon yang sudah setahun tidak dipakai.
Anda buka lagi dari laptop, tetap versi baru. Dari HP sendiri juga versi baru. Tapi klien bersikeras dia melihat yang lama, dan dia tidak sedang berbohong.
Tidak ada yang rusak di sini. Yang sedang bekerja cuma DNS, dan ini salah satu hal yang paling sering bikin orang panik padahal tidak perlu.
Tulisan ini menjelaskan DNS dari sisi yang benar-benar kepakai kalau Anda punya website. Cara kerjanya, jenis record yang perlu dikenal, kenapa perubahannya tidak langsung terasa, dan gejala apa saja yang biasanya berujung ke sini.
Pengertian: apa itu DNS?
DNS (Domain Name System) adalah sistem yang menerjemahkan nama domain menjadi alamat IP, supaya komputer tahu server mana yang harus dihubungi.
Analogi buku telepon sudah sering dipakai, dan memang paling dekat. Anda hafal nama orangnya, bukan nomornya. DNS yang menyimpan pasangan nama dan nomor itu.
Bedanya, buku telepon cuma satu buku. DNS tersebar di jutaan server di seluruh dunia, dan tidak ada satu pun di antaranya yang menyimpan daftar lengkapnya.
Itu sengaja. Kalau ada satu daftar induk, satu gangguan saja bisa memadamkan seluruh internet sekaligus.
Domain adalah namanya. Hosting adalah tempat file website Anda benar-benar disimpan. DNS adalah sistem yang menghubungkan nama tadi ke tempat penyimpanannya. Registrar adalah perusahaan tempat Anda menyewa nama itu. Empatnya bisa berasal dari empat perusahaan berbeda dan tetap bekerja normal. Kalau dua yang pertama masih sering tertukar, baca dulu perbedaan domain dan hosting.
Apa yang terjadi dalam puluhan milidetik itu
Waktu Anda mengetik sebuah alamat lalu menekan enter, ada rantai pertanyaan yang berjalan sebelum halaman mulai dimuat.
Pemeran utamanya disebut resolver, biasanya milik ISP Anda atau layanan publik seperti 1.1.1.1 dan 8.8.8.8. Dialah yang disuruh mencarikan jawaban, dan dia yang mengerjakan seluruh sisanya.
Resolver bertanya ke root server lebih dulu. Root tidak tahu alamat website Anda, dia cuma tahu siapa yang mengurus akhiran .id.
Dari situ resolver bertanya ke TLD server yang mengurus .id tadi. Server ini juga tidak tahu alamatnya, tapi dia tahu nameserver mana yang berwenang atas domain Anda.
Barulah resolver bertanya ke authoritative nameserver itu, dan di sanalah jawaban sebenarnya disimpan. Alamat IP dikirim balik ke browser, browser menghubungi server, halaman mulai tampil.
Kelihatannya panjang, tapi seluruh rangkaian tadi biasanya selesai dalam puluhan milidetik.
Dan sebagian besar waktu, rantai itu tidak berjalan penuh. Resolver menyimpan jawaban yang sudah pernah dia dapat, jadi permintaan berikutnya untuk domain yang sama dijawab langsung dari ingatannya.
Cache inilah yang bikin internet terasa cepat. Cache ini juga yang nanti bikin perubahan Anda terasa lambat.
Jenis record DNS yang perlu Anda kenal
Isi DNS sebuah domain berupa daftar baris yang disebut record. Tiap baris menjawab satu pertanyaan berbeda tentang domain Anda.
Jumlah jenisnya banyak, tapi sebagai pemilik website Anda praktis cuma akan berurusan dengan enam ini.
| Record | Fungsinya | Contoh isi | Kapan Anda menyentuhnya |
|---|---|---|---|
| AAddress | Menunjuk domain ke alamat IP server | 203.0.113.10 |
Pindah hosting atau ganti server |
| AAAAAddress IPv6 | Sama seperti A, tapi untuk alamat IPv6 | 2001:db8::1 |
Jarang, biasanya sudah diisi penyedia |
| CNAMECanonical Name | Menjadikan satu nama sebagai alias nama lain | toko ikut ke shops.myshopify.com |
Menyambungkan subdomain ke layanan pihak ketiga |
| MXMail Exchange | Menentukan ke mana email untuk domain Anda dikirim | mx.zoho.com |
Memasang email bisnis, dan setiap kali pindah hosting |
| TXTText | Catatan teks bebas, dipakai untuk verifikasi dan keamanan email | v=spf1 include:zoho.com ~all |
Verifikasi kepemilikan domain, SPF, DKIM |
| NSName Server | Menunjuk nameserver mana yang berwenang atas domain ini | ns1.rumahweb.com |
Pindah pengelolaan DNS ke penyedia lain |
Yang paling sering disentuh orang awam cuma dua, yaitu A dan MX. Dua-duanya juga yang paling sering bikin celaka kalau salah.
Email berhenti masuk setelah pindah hosting, dan orang mencarinya di pengaturan email. Padahal penyebabnya ada di record MX yang ikut tertimpa waktu nameserver dialihkan. Website-nya sehat, email-nya dikirim ke server lama yang sudah kosong.
Nameserver: siapa yang sebenarnya didengarkan
Ini bagian yang paling sering bikin bingung.
Anda bisa saja punya tiga panel DNS sekaligus. Satu di registrar tempat domain dibeli, satu di cPanel hosting, satu lagi di Cloudflare kalau Anda memakainya.
Ketiganya menampilkan tabel record yang mirip. Tapi hanya satu yang benar-benar dipakai dunia luar.
Yang menentukan siapa pemenangnya adalah nameserver yang tercatat di registrar. Nameserver itulah yang jadi authoritative, dan panel mana pun selain dia isinya cuma jadi catatan yang tidak pernah dibaca siapa-siapa.
Makanya ada pola keluhan yang sangat khas. Sudah diubah berkali-kali, sudah ditunggu dua hari, tapi tidak ada yang berubah sama sekali. Biasanya karena yang diedit memang panel yang salah.
Sebelum mengubah apa pun, cek dulu nameserver domain Anda menunjuk ke mana. Edit di panel milik nameserver itu, bukan di panel yang kebetulan Anda punya aksesnya.
Bisnis yang ditinggal vendor lama sering tidak sadar bahwa yang hilang bukan cuma website, tapi akun registrar-nya. Selama nameserver masih dikendalikan pihak yang tidak bisa dihubungi, domainnya praktis bukan milik Anda. Simpan akses registrar atas nama perusahaan sendiri, bukan atas nama vendor, sejak hari pertama.
TTL dan propagasi
Kembali ke klien yang masih melihat halaman lama tadi.
Tiap record DNS punya nilai TTL (Time To Live), dihitung dalam detik. Angka itu memberi tahu resolver di seluruh dunia berapa lama jawaban ini boleh disimpan sebelum ditanyakan ulang.
TTL 3600 berarti satu jam. Kalau Anda mengubah record hari ini, resolver yang kebetulan baru menyimpan jawaban lama lima menit lalu masih akan memakai jawaban itu selama 55 menit ke depan.
Proses menyebarnya jawaban baru inilah yang biasa disebut propagasi. Istilahnya agak menyesatkan, karena kesannya ada data yang dikirim ke mana-mana. Yang sebenarnya terjadi cuma cache lama yang habis masa berlakunya satu per satu.
Angka 24 sampai 48 jam yang sering disebut penyedia hosting itu batas amannya, bukan lamanya. Sekarang sebagian besar perubahan sudah terasa dalam hitungan menit sampai beberapa jam.
Cache-nya juga berlapis, dan tiap lapis punya umurnya sendiri. Ada di browser, di sistem operasi, kadang di router, lalu di resolver ISP. Ini yang menjelaskan kenapa dua orang di kota yang sama bisa melihat versi berbeda di jam yang sama.
Ada satu trik yang sangat kepakai kalau Anda tahu bakal migrasi. Turunkan dulu TTL jadi 300 detik beberapa hari sebelum pindahan, baru lakukan perpindahannya, lalu naikkan lagi setelah semuanya stabil.
Dan waktu memeriksa hasilnya, jangan pakai laptop sendiri sebagai bukti. Cache Anda sudah tercemar oleh percobaan Anda sendiri. Pakai layanan pengecek DNS global, atau perintah nslookup yang diarahkan ke resolver publik.
Soal 1.1.1.1 dan 8.8.8.8
Anda mungkin pernah disuruh mengganti DNS di HP atau laptop jadi 1.1.1.1 atau 8.8.8.8, biasanya dengan janji internet jadi lebih kencang.
Yang diganti di situ resolver-nya, bukan DNS website Anda. Dua hal berbeda yang kebetulan sama-sama disebut DNS.
Efeknya nyata tapi terbatas. Resolver publik umumnya menjawab lebih cepat dan lebih jarang bermasalah dibanding resolver bawaan ISP. Yang berubah cuma waktu mencari alamatnya, sedangkan kecepatan mengunduh isi halamannya sama saja.
Buat pemilik website ada satu hal yang lebih penting dari itu. Waktu Anda mengecek hasil perubahan DNS, laptop yang memakai resolver berbeda akan melihat hasil berbeda dari kebanyakan pengunjung Anda.
Jadi jangan menyimpulkan apa pun dari satu perangkat. Dan mengganti resolver di perangkat sendiri sama sekali tidak mengubah apa yang dilihat pengunjung, karena mereka tetap memakai resolver masing-masing.
Lima gejala yang biasanya berujung ke DNS
Kalau salah satu dari ini terjadi, DNS layak jadi tempat pertama yang Anda periksa sebelum yang lain.
1. Website tidak bisa dibuka setelah pindah hosting
Gejalanya khas, yaitu halaman gagal dimuat padahal file website sudah lengkap terunggah di server baru dan bisa dibuka lewat alamat sementara dari penyedia hosting.
Yang belum dikerjakan biasanya record A yang masih menunjuk ke IP server lama, atau nameserver yang belum dipindahkan sama sekali.
2. Email berhenti masuk padahal website normal
Ini kelanjutan dari kasus record MX tadi. Ciri paling jelasnya, email keluar masih bisa terkirim tapi tidak ada satu pun yang masuk.
Periksa record MX, lalu periksa juga TXT untuk SPF-nya. Dua-duanya sering ikut hilang saat pindah dan jarang ada yang mengingatkan.
3. Sebagian orang melihat versi lama
Persis kasus di awal tulisan ini. Bukan kerusakan, cuma cache yang belum habis umurnya.
Yang perlu dilakukan cuma menunggu selama TTL, dan menahan diri untuk tidak mengubah-ubah record lagi selama menunggu. Tiap perubahan baru justru memperpanjang kebingungannya.
4. Domain aktif tapi yang muncul halaman parkir
Anda sudah membayar domain, statusnya aktif, tapi yang tampil halaman iklan atau tulisan "domain ini belum digunakan".
Artinya nameserver masih menunjuk ke nameserver bawaan registrar, dan belum pernah diarahkan ke hosting tempat website Anda berada.
5. Kunjungan pertama terasa lambat, berikutnya normal
Pencarian DNS terjadi sebelum satu byte pun halaman Anda terkirim. Kalau resolver-nya lambat menjawab, penundaan itu ditanggung pengunjung yang baru pertama datang.
Pengaruhnya nyata tapi kecil, biasanya cuma puluhan milidetik. Jadi jangan jadikan DNS tersangka utama kalau situs Anda lambat, karena ukuran halaman dan kecepatan server jauh lebih menentukan. Kami uraikan metriknya di catatan soal Core Web Vitals.
Satu hal yang perlu jujur disampaikan. DNS itu tidak rumit, tapi tidak memaafkan.
Salah satu angka di record A, website hilang dari internet. Salah satu baris di MX, email berhenti tanpa pemberitahuan apa pun. Dan karena ada cache, kesalahannya sering baru ketahuan berjam-jam kemudian, waktu Anda sudah lupa apa yang tadi diubah.
Karena itu catat kondisi sebelum mengubah. Screenshot tabel record lama, simpan, baru sentuh apa-apa.
Pertanyaan umum
Apa itu DNS?
DNS (Domain Name System) adalah sistem yang menerjemahkan nama domain seperti tokoanda.co.id menjadi alamat IP server yang menyimpan website-nya. Tanpa DNS, orang harus menghafal deretan angka untuk membuka sebuah situs. Sistem ini tersebar di jutaan server di seluruh dunia dan bekerja setiap kali sebuah halaman dibuka.
Berapa lama propagasi DNS?
Angka yang sering disebut adalah 24 sampai 48 jam, tetapi pada praktiknya sekarang sebagian besar perubahan sudah terasa dalam hitungan menit sampai beberapa jam. Lamanya ditentukan oleh nilai TTL pada record yang Anda ubah, karena TTL menentukan berapa lama jawaban lama masih disimpan di cache sebelum ditanyakan ulang.
Apa bedanya DNS, domain, dan hosting?
Domain adalah nama alamatnya, hosting adalah tempat file website Anda benar-benar disimpan, dan DNS adalah sistem yang menghubungkan keduanya. Ketiganya bisa dibeli dari tiga perusahaan yang berbeda dan tetap bekerja, asalkan DNS-nya diarahkan dengan benar.
Kenapa email tidak masuk setelah saya pindah hosting?
Penyebab paling sering adalah record MX yang ikut berubah saat nameserver dialihkan ke penyedia baru. Record MX menentukan ke server mana email untuk domain Anda dikirim, dan nilainya tidak selalu ikut terbawa saat pindah. Setelah migrasi, record MX perlu dipastikan masih menunjuk ke penyedia email yang Anda pakai.
Apakah DNS memengaruhi kecepatan website?
Ya, tetapi hanya pada kunjungan pertama sebelum jawabannya tersimpan di cache. Proses pencarian DNS biasanya memakan puluhan milidetik dan terjadi sebelum satu byte pun halaman Anda terkirim. Pengaruhnya nyata tetapi kecil dibandingkan ukuran halaman dan kecepatan server, jadi ia bukan tempat pertama yang harus dibenahi kalau situs Anda lambat.