Pendahuluan
Masalah domain tidak bisa diakses sering terjadi ketika DNS belum terbaca dengan benar di perangkat pengguna. Salah satu kasus yang umum adalah ketika IP server bisa dibuka langsung melalui browser, tetapi domain yang mengarah ke IP tersebut tidak bisa diakses.
Contoh kasus:
Domain: contoh-domain.my.id
IP Server: 192.0.2.10
Saat IP server dibuka langsung, website bisa tampil. Namun ketika membuka domain, website tidak bisa diakses dari Windows.
Masalah seperti ini biasanya bukan berasal dari server web, melainkan dari DNS resolver yang digunakan oleh komputer atau jaringan internet pengguna.
Gejala Masalah
Pada Windows, ketika dilakukan pengecekan DNS menggunakan perintah:
nslookup contoh-domain.my.id
muncul hasil seperti berikut:
Server: dns-provider.local
Address: 10.10.10.1
*** dns-provider.local can't find contoh-domain.my.id: Non-existent domain
Artinya DNS default yang digunakan Windows tidak dapat menemukan domain tersebut.
Namun ketika dicek menggunakan Google DNS:
nslookup contoh-domain.my.id 8.8.8.8
hasilnya:
Server: dns.google
Address: 8.8.8.8
Name: contoh-domain.my.id
Address: 192.0.2.10
Ini menunjukkan bahwa domain sebenarnya sudah benar mengarah ke IP server, tetapi DNS bawaan jaringan atau ISP belum membaca record tersebut.
Penyebab Domain Tidak Bisa Diakses
Beberapa penyebab yang umum terjadi:
- DNS resolver bawaan ISP belum update.
- Cache DNS di Windows masih menyimpan data lama.
- DNS domain baru saja dibuat atau diubah sehingga propagasi belum merata.
- Komputer masih menggunakan DNS otomatis dari modem/router.
- DNS lokal gagal membaca subdomain tertentu.
Dalam kasus ini, domain sudah valid karena DNS publik berhasil membaca:
contoh-domain.my.id -> 192.0.2.10
Jadi masalahnya ada pada DNS resolver yang digunakan oleh Windows, bukan pada server.
Langkah 1: Cek DNS Domain dari Windows
Buka PowerShell atau Command Prompt, lalu jalankan:
nslookup contoh-domain.my.id
Jika hasilnya seperti ini:
can't find contoh-domain.my.id: Non-existent domain
berarti DNS yang sedang digunakan belum mengenali domain tersebut.
Selanjutnya cek menggunakan DNS publik Google:
nslookup contoh-domain.my.id 8.8.8.8
Atau menggunakan Cloudflare DNS:
nslookup contoh-domain.my.id 1.1.1.1
Jika salah satu DNS publik menampilkan IP server, berarti record DNS domain sebenarnya sudah benar.
Langkah 2: Flush DNS Cache di Windows
Setelah memastikan DNS publik bisa membaca domain, bersihkan cache DNS Windows.
Buka Command Prompt atau PowerShell sebagai Administrator, lalu jalankan:
ipconfig /flushdns
Jika berhasil, akan muncul pesan seperti ini:
Successfully flushed the DNS Resolver Cache.
Setelah itu coba akses ulang domain melalui browser.
Langkah 3: Ganti DNS Windows ke DNS Publik
Jika setelah flush DNS domain masih belum bisa dibuka, ubah DNS Windows ke DNS publik.
Gunakan salah satu kombinasi berikut:
Preferred DNS: 8.8.8.8
Alternate DNS: 1.1.1.1
Atau:
Preferred DNS: 1.1.1.1
Alternate DNS: 8.8.8.8
Langkah mengganti DNS di Windows:
- Buka Control Panel.
- Masuk ke Network and Internet.
- Pilih Network and Sharing Center.
- Klik koneksi internet yang sedang digunakan.
- Pilih Properties.
- Klik Internet Protocol Version 4 (TCP/IPv4).
- Pilih Use the following DNS server addresses.
- Masukkan DNS publik:
Preferred DNS server: 8.8.8.8
Alternate DNS server: 1.1.1.1
- Klik OK dan simpan pengaturan.
Setelah itu jalankan kembali:
ipconfig /flushdns
Lalu cek kembali:
nslookup contoh-domain.my.id
Jika hasilnya sudah menampilkan IP server, berarti DNS Windows sudah benar.
Langkah 4: Tes Akses Domain
Setelah DNS berhasil resolve ke IP server, coba akses domain melalui browser:
http://contoh-domain.my.id
Atau cek melalui PowerShell:
curl -I http://contoh-domain.my.id
Jika domain sudah bisa diakses, berarti masalah telah selesai.
Langkah 5: Jika Domain Tetap Tidak Bisa Dibuka
Jika DNS sudah benar tetapi domain tetap tidak bisa dibuka, lakukan pengecekan lanjutan pada server.
Cek apakah domain sudah mengarah ke IP server:
traceroute contoh-domain.my.id
Contoh hasil yang benar:
traceroute to contoh-domain.my.id (192.0.2.10)
Kemudian cek response web server:
curl -I http://contoh-domain.my.id
Jika akses IP server bisa tetapi domain tidak bisa, kemungkinan konfigurasi virtual host, Apache, Nginx, atau domain di panel hosting belum sesuai.
Jika menggunakan cPanel/WHM, pastikan:
- Domain sudah dibuat sebagai account atau addon domain.
- A record domain mengarah ke IP server yang benar.
- Apache/Nginx sudah membaca konfigurasi domain.
- SSL tidak bermasalah jika menggunakan HTTPS.
- DNS zone domain tidak salah.
Untuk rebuild konfigurasi Apache di cPanel/WHM, bisa menggunakan:
/scripts/rebuildhttpdconf
/scripts/restartsrv_httpd
Jika menggunakan Nginx:
nginx -t
systemctl restart nginx
Catatan tentang Ping dan Traceroute
Jika IP tertentu tidak bisa diping, belum tentu server atau jaringan mati. Banyak modem, router, firewall, atau ISP yang memblokir ICMP/ping dari luar.
Contoh:
ping 192.0.2.10
Hasil:
100% packet loss
Ini bisa terjadi karena ping diblokir. Untuk pengecekan web, lebih tepat menggunakan port 80 dan 443:
curl -I http://IP-SERVER
curl -I https://IP-SERVER
Atau:
nc -vz IP-SERVER 80
nc -vz IP-SERVER 443
Jadi jangan hanya berpatokan pada ping. Untuk website, yang penting adalah port HTTP/HTTPS bisa diakses.
Kesimpulan
Jika IP server bisa dibuka tetapi domain tidak bisa diakses, langkah pertama yang harus dicek adalah DNS.
Pada contoh kasus ini, domain:
contoh-domain.my.id
sebenarnya sudah benar mengarah ke IP server:
192.0.2.10
Namun DNS bawaan Windows atau ISP belum bisa membaca domain tersebut. Setelah menggunakan DNS publik seperti Google DNS 8.8.8.8 atau Cloudflare DNS 1.1.1.1, domain berhasil diakses.
Solusi utama:
ipconfig /flushdns
Kemudian ganti DNS Windows ke:
8.8.8.8
1.1.1.1
Dengan begitu, domain dapat resolve dengan benar dan website bisa dibuka normal melalui Windows.
