Subdomain Tidak Load Full dan Lemot? Studi Kasus Konflik Cloudflare dan SSL
Aku mengalami kasus yang menurutku sangat aneh. Subdomain tidak bisa memuat halaman secara penuh. Saat dibuka, tampilannya seperti ada yang hilang. Beberapa bagian HTML muncul, tapi CSS tidak sempurna, JavaScript seperti tidak berjalan, dan loading terasa sangat lambat.
Yang membuat makin membingungkan: domain utama berjalan normal tanpa kendala. Padahal file dan database yang digunakan sama persis. Bahkan sempat aku ganti ulang seluruh file di subdomain dan memastikannya pointing ke source yang sama dengan domain utama. Hasilnya tetap sama — subdomain tetap lemot dan halaman tidak lengkap saat dimuat.
Aku mencoba akses dari perangkat lain dan jaringan berbeda. Hasilnya tetap sama. Artinya ini bukan masalah cache browser atau koneksi internet.
Dari situ aku mulai curiga pada dua hal:
- Hosting (Hostinger)
- Cloudflare
Dan ternyata jawabannya ada di sana.
Gejala yang Terjadi
Berikut adalah gejala yang aku alami:
- Halaman tidak termuat penuh
- Tampilan seperti kehilangan CSS
- JavaScript tidak berjalan sempurna
- Loading sangat lambat
- Butuh waktu beberapa menit sampai normal
Jika dijelaskan secara visual, halaman terlihat seperti hanya memuat struktur HTML dasar. Styling berantakan, layout rusak, dan beberapa fitur interaktif tidak berfungsi.
Seolah-olah file CSS dan JS tidak berhasil di-load.
Analisa Awal yang Membingungkan
Karena domain utama normal dan subdomain bermasalah, aku berpikir ini pasti masalah server atau konfigurasi tertentu.
Yang Sudah Aku Pastikan
- File web sama persis
- Database sama
- Versi PHP sama
- Tidak ada error di sisi aplikasi
Kalau file dan database sama, seharusnya hasilnya juga sama. Tapi kenyataannya berbeda.
Di sinilah aku mulai melihat kemungkinan adanya konflik pada layer jaringan atau proxy.
Dugaan Mengarah ke Cloudflare
Aku menggunakan Cloudflare sebagai DNS dan proxy. Subdomain dan domain utama sama-sama terdaftar di sana.
Ada dua konfigurasi penting yang aku ubah:
1. Mengubah SSL Mode
Dari sebelumnya Full menjadi Full (Strict).
2. Mematikan Proxy untuk Subdomain
Mengubah status dari Proxied (orange cloud) menjadi DNS Only (abu-abu).
Setelah melakukan dua hal ini, beberapa menit kemudian subdomain langsung normal. Loading cepat dan halaman tampil sempurna.
Mana yang Sebenarnya Menjadi Solusi?
Awalnya aku berpikir perubahan SSL yang menyelesaikan masalah. Tapi setelah dianalisa lebih dalam, ada satu detail penting:
Website baru normal setelah beberapa menit.
Perubahan SSL biasanya langsung berefek. Sedangkan perubahan DNS dan proxy membutuhkan waktu propagasi.
Kesimpulan Logis
Kemungkinan besar penyebab utamanya adalah proxy Cloudflare pada subdomain, bukan sekadar SSL mode.
Kenapa Proxy Bisa Menyebabkan Halaman Tidak Lengkap?
Saat proxy aktif, alur request menjadi:
User → Cloudflare → Server Hosting
Jika ada konflik di layer ini, beberapa hal bisa terjadi:
- SSL handshake tidak sinkron
- Redirect loop HTTP ke HTTPS
- Cache corrupt
- Timeout saat memuat asset
- Header response tidak sesuai
Akibatnya:
- CSS gagal dimuat
- JS gagal dimuat
- Layout terlihat rusak
- Loading sangat lambat
Itulah kenapa halaman terlihat seperti ada HTML, tapi styling dan script tidak lengkap.
Perbandingan Kondisi Sebelum dan Sesudah
| Kondisi | Proxy Aktif | Proxy Nonaktif |
|---|---|---|
| Kecepatan | Lambat | Normal |
| CSS | Tidak lengkap | Normal |
| JavaScript | Tidak berjalan sempurna | Normal |
| Tampilan | Seperti rusak | Sempurna |
Dari tabel ini terlihat jelas bahwa faktor penentunya adalah proxy.
Kemungkinan Penyebab Teknis di Balik Proxy
1. Redirect Loop
Jika server memaksa HTTPS dan Cloudflare juga melakukan hal yang sama, bisa terjadi loop redirect yang memperlambat loading.
2. Mixed Content
Jika subdomain memanggil asset melalui HTTP sementara halaman menggunakan HTTPS, browser bisa memblokirnya.
3. Cache Edge Bermasalah
Cloudflare menyimpan cache di edge server. Jika cache corrupt, halaman bisa tidak termuat sempurna.
4. Header Tidak Sinkron
Beberapa aplikasi membutuhkan header tertentu seperti X-Forwarded-Proto. Jika tidak cocok, asset bisa gagal dimuat.
Pelajaran Penting dari Kasus Ini
Jangan Langsung Menyalahkan File atau Database
Jika domain utama normal dan subdomain tidak, besar kemungkinan masalahnya ada di layer jaringan.
Perhatikan Perbedaan Konfigurasi
Meskipun file sama, konfigurasi DNS dan proxy bisa berbeda.
Uji dengan DNS Only
Ini langkah tercepat untuk isolasi masalah. Jika DNS Only normal, berarti masalah ada di proxy layer.
Kesimpulan Akhir
Kasus ini awalnya terlihat tidak masuk akal. File sama, database sama, server sama, tapi hasil berbeda.
Setelah dilakukan analisa, solusi efektifnya adalah:
- Mengubah SSL menjadi Full (Strict)
- Mematikan proxy Cloudflare untuk subdomain
Namun berdasarkan pola waktu propagasi dan perubahan yang terjadi, penyebab utama kemungkinan besar adalah proxy Cloudflare pada subdomain.
Jika kamu mengalami subdomain yang lemot dan tidak load full seperti ada HTML, CSS, atau JS yang hilang, coba cek konfigurasi proxy terlebih dahulu.
Sering kali masalah yang terlihat rumit ternyata hanya satu setting kecil yang tidak sinkron.
Dan dalam kasusku, masalahnya memang ada di sana.