Bali, Indonesia
Insights

Memilih DNS-01 atau HTTP-01 Saat Pasang AutoSSL di Balik Cloudflare

October 17, 2026
0:00
Banyak pengelola server baru menyadari ada yang tidak beres ketika sertifikat SSL di server origin tiba-tiba kedaluwarsa, padahal fitur AutoSSL atau cPanel AutoSSL sudah aktif dan domain berjalan normal lewat Cloudflare. Pengunjung yang mengakses web dari browser mungkin belum melihat peringatan bahaya karena Cloudflare masih menyajikan sertifikat edge miliknya, tetapi komunikasi antara proxy Cloudflare dan server backend kita bisa langsung terputus jika enkripsinya diatur ke mode ketat (Full Strict). Saat menggunakan automated certificate management seperti protokol ACME (Automatic Certificate Management Environment)—yang dipakai Let's Encrypt atau penyedia AutoSSL lainnya—kita dihadapkan pada dua opsi challenge utama: HTTP-01 dan DNS-01. Di meja bantuan teknis hosting, perdebatan dan kebingungan seputar dua metode ini sangat sering muncul, terutama saat domain diaktifkan status proxynya (ikon awan oranye). Mari kita bedah beberapa anggapan keliru yang sering membuat proses validasi sertifikat ini gagal secara diam-diam.
Anggapan ini sangat umum muncul bagi mereka yang baru pertama kali menggunakan Cloudflare. Kelihatannya masuk akal karena gembok hijau atau simbol koneksi aman di browser pengunjung sudah ditangani langsung oleh Cloudflare (edge certificate). Banyak yang berpikir server origin cukup dibiarkan tanpa SSL, atau cukup memakai sertifikat bawaan self-signed selamanya. Kenyataannya, ini membuka risiko keamanan dan keandalan. Jika kamu menyetel mode enkripsi Cloudflare ke Flexible, lalu lintas dari browser ke Cloudflare memang terenkripsi, tetapi dari Cloudflare ke VPS atau server hosting kita dikirimkan dalam bentuk HTTP polos tanpa enkripsi. Bukan hanya rawan intersepsi di jaringan perantara, mode ini sering memicu infinite redirect loop ketika aplikasi web memaksa pengalihan HTTPS. Bahkan jika kamu memakai mode Full (tanpa Strict), Cloudflare tidak memvalidasi keabsahan sertifikat di server asal, sehingga kamu tidak dilindungi dari potensi serangan man-in-the-middle di tingkat rute jaringan. Ketika organisasi bergerak menuju standar enkripsi menyeluruh (end-to-end trust) atau saat kamu memilih mode Full (Strict), server origin wajib memiliki sertifikat yang sah dan diakui secara publik. Mengabaikan pembaruan sertifikat di origin server hanya tinggal menunggu waktu sampai halaman situs berubah menjadi error 525 (SSL Handshake Failed) atau error 526 (Invalid SSL Certificate).
Banyak administrator langsung berpindah ke DNS-01 karena mengira mekanisme HTTP-01 tidak akan bisa menembus server edge Cloudflare. Logika awalnya terasa logis: bagaimana mungkin Certificate Authority (CA) seperti Let's Encrypt bisa membaca file validasi di server kita jika IP yang dituju adalah IP proxy Cloudflare dan bukan IP asli server? Pada praktiknya, HTTP-01 tetap bisa berjalan lancar di balik proxy Cloudflare asalkan alur request-nya tidak diinterupsi. Saat proses challenge berlangsung, CA akan mengirim permintaan HTTP GET ke alamat http://domain-anda.com/.well-known/acme-challenge/<token>. Jika proxy aktif, request ini akan diterima oleh Cloudflare terlebih dahulu, lalu diteruskan ke IP server backend kita. Selama server kita merespons dengan token yang tepat dan status HTTP 200, validasi akan berhasil. Penyebab HTTP-01 gagal di balik Cloudflare biasanya bukan karena keberadaan proxy itu sendiri, melainkan fitur keamanan tambahan yang kita nyalakan. Beberapa pemicu utamanya meliputi aturan Web Application Firewall (WAF) yang memblokir bot, fitur 'Under Attack Mode', proteksi Cloudflare Bot Fight Mode yang menahan request bot otomatis dengan JavaScript challenge, atau aturan Page Rules/Transform Rules yang mengarahkan semua HTTP secara agresif ke HTTPS sebelum request menyentuh folder challenge. Jika kamu mengecualikan path /.well-known/acme-challenge/* dari aturan redirect dan tantangan bot di dashboard Cloudflare, validasi HTTP-01 umumnya tetap dapat diperbarui tanpa masalah.
Karena DNS-01 tidak bergantung pada port 80/443 dan tidak peduli apakah web server kita sedang down atau terhalang proteksi WAF, banyak praktisi menganggap DNS-01 adalah solusi sapu jagat terbaik yang harus selalu dipilih. DNS-01 memang memiliki keunggulan mutlak dalam dua hal: metode ini satu-satunya cara resmi untuk menerbitkan wildcard certificate (seperti *.domain-anda.com), dan sangat ideal untuk server backend yang berada di jaringan internal terisolasi (private network) yang port webnya tidak dibuka ke internet publik. Namun, menganggapnya tanpa cela adalah kekeliruan arsitektur. Kelemahan terbesar DNS-01 terletak pada ketergantungan API dan keamanan kredensial. Agar client ACME (seperti certbot atau acme.sh) di server kamu bisa melakukan validasi DNS-01 secara otomatis, server tersebut harus menyimpan API Token DNS provider (dalam hal ini Cloudflare). Jika server kamu berhasil disusupi pihak ketiga, token tersebut bisa ikut bocor. Bila kamu salah memberikan izin cakupan (scope) saat membuat token—misalnya menggunakan Global API Key alih-alih API Token terbatas per zona—penyerang bisa memanipulasi seluruh konfigurasi DNS untuk domain lain di akun Cloudflare yang sama. Selain faktor keamanan, DNS-01 rentan terhadap keterlambatan propagasi DNS. Terkadang script otomasi membuat record TXT _acme-challenge, lalu langsung memanggil API Let's Encrypt sebelum authoritative name server atau resolver publik sempat melihat record baru tersebut, yang berujung pada error validasi gagal.
Sebagian orang memperlakukan pengaturan challenge SSL sebagai tugas sekali beres yang ditinggalkan begitu saja. Yang penting saat ini statusnya sudah 'Issued'. Industri keamanan web saat ini sedang bergerak menuju siklus hidup sertifikat TLS yang jauh lebih singkat. Di masa lalu sertifikat bisa berlaku beberapa tahun, kemudian dipangkas menjadi satu tahun (398 hari), dan wacana industri memperlihatkan dorongan untuk menurunkannya lagi hingga ke kisaran 45 sampai 47 hari di masa depan. Semakin pendek masa berlaku sertifikat, frekuensi pembaruan otomatis yang dilakukan sistem akan semakin rapat—bisa terjadi setiap beberapa minggu sekali. Jika proses validasi kamu mengandalkan konfigurasi yang rapuh, risiko kegagalan pembaruan otomatis akan berlipat ganda. Sebuah script HTTP-01 yang bergantung pada matinya aturan WAF sementara, atau cron job DNS-01 dengan API token yang kedaluwarsa, akan lebih cepat menumbangkan sistem ketika rotasi sertifikat terjadi sangat sering. Kamu harus memilih metode yang selaras dengan kontrol keamanan infrastruktur kamu secara permanen, bukan sekadar trik sementara agar sertifikat terpasang hari ini.
Untuk menentukan pilihan, petakan kondisi server kamu berdasarkan kebutuhan operasional:
  1. Pilih DNS-01 jika kamu memerlukan wildcard certificate, jika server backend kamu tidak memiliki IP publik langsung, atau jika port 80 di server origin sengaja ditutup demi kebijakan firewall yang ketat. Jika memilih jalur ini, wajibkan pembuatan API Token di Cloudflare dengan batasan hak akses seminimal mungkin: hanya izin Zone - DNS - Edit untuk satu zona domain spesifik, bukan Global API Key.
  2. Pilih HTTP-01 jika web server kamu memang melayani domain publik tunggal, kamu tidak ingin menyimpan API Token DNS di dalam filesystem server backend, dan kamu memiliki kendali penuh atas konfigurasi web server (seperti Nginx atau Apache) untuk memetakan alias direktori .well-known/acme-challenge/.
Berikut contoh konfigurasi blok lokasi Nginx yang umum dipakai agar request tantangan HTTP-01 dari Let's Encrypt langsung dilayani dari direktori lokal server origin tanpa terganggu oleh rewrite rule aplikasi (seperti WordPress) maupun aturan force-https:
NGINX
location ^~ /.well-known/acme-challenge/ {
    default_type 'text/plain';
    root /var/www/letsencrypt;
    allow all;
}
Alternatif lain yang sangat praktis jika kamu berada di ekosistem Cloudflare sepenuhnya adalah memanfaatkan Cloudflare Origin CA certificate. Sertifikat ini khusus diterbitkan oleh Cloudflare untuk dipasang di server backend kita, memiliki masa berlaku yang bisa diatur sangat panjang (hingga hitungan tahun), dan otomatis dipercayai oleh proxy Cloudflare dalam mode Full (Strict). Dengan begitu, kamu tidak perlu repot menjalankan client ACME otomatis di origin server hanya untuk melayani proxy edge.