Bali, Indonesia
Insights

Kenapa AutoSSL Gagal Diperbarui Padahal Domain Sudah Mengarah ke Server

October 15, 2026
0:00
Domain sudah bisa dibuka lewat peramban, pengecekan ping sudah mengarah ke IP publik server yang tepat, namun notifikasi kegagalan AutoSSL tetap masuk ke email administrator setiap malam. Situasi ini sangat sering ditemui di meja bantuan hosting dan membuat banyak pengelola situs bingung. Secara kasat mata, website berjalan tanpa kendala, sehingga kesimpulan awal yang sering diambil adalah adanya masalah di sisi penyedia sertifikat atau sistem kontrol panel. Sebagian besar sistem otomatisasi sertifikat seperti AutoSSL di cPanel mengandalkan protokol ACME (Automated Certificate Management Environment) dengan metode HTTP-01 challenge. Metode ini bekerja dengan prinsip sederhana: server otoritas sertifikat (Certificate Authority atau CA) meminta server kita menyajikan file teks acak di bawah direktori /.well-known/acme-challenge/ pada domain terkait melalui port HTTP biasa (port 80). Jika file tersebut terbaca persis seperti yang diharapkan, kepemilikan domain dianggap sah dan sertifikat diterbitkan. Ketika proses ini macet padahal DNS sudah benar, masalahnya hampir selalu terletak pada alur pengiriman file validasi tersebut. Berikut adalah beberapa mitos yang sering mengecoh pengelola server saat AutoSSL gagal memperbarui sertifikat.
Banyak orang beranggapan bahwa selama record DNS A atau AAAA sudah menunjuk ke IP server, proses validasi domain (Domain Control Validation atau DCV) selesai dengan sendirinya. Nyatanya, DNS hanyalah penunjuk jalan ke pintu gerbang server. Apa yang terjadi setelah request tiba di web server sepenuhnya diatur oleh aturan pemrosesan lokal, seperti konfigurasi virtual host dan file .htaccess. Dalam praktiknya, aturan pengalihan URL (rewrite rule) sering memotong alur validasi. Sebagai contoh, pengelola website sering menambahkan aturan yang memaksa semua trafik dialihkan ke URL tertentu, memblokir akses ke direktori tersembunyi (direktori yang diawali titik), atau mengarahkan semua permohonan halaman ke sistem routing aplikasi web seperti WordPress atau Laravel. Jika aturan pengalihan tersebut tidak mengecualikan direktori /.well-known/acme-challenge/, server CA tidak akan pernah membaca token verifikasi. Alih-alih mendapatkan string teks yang valid, bot validasi justru menerima halaman 404 aplikasi, halaman login, atau pengalihan berulang-ulang (redirect loop). Selain itu, jika domain memiliki record AAAA (IPv6) yang aktif di DNS tetapi web server belum dikonfigurasi untuk melayani IPv6 dengan benar, validator modern dari CA seperti Let's Encrypt akan memprioritaskan jalur IPv6 tersebut. Akibatnya, validasi gagal karena server CA mencoba menghubungi alamat IPv6 yang tidak merespons, meskipun koneksi IPv4 berjalan sempurna.
Ketika pembaruan sertifikat mendadak gagal untuk satu domain, kecurigaan pertama pengguna biasanya tertuju pada server Let's Encrypt atau Sectigo. Anggapan ini terasa masuk akal karena proses validasi melibatkan pihak ketiga di luar server kita. Namun, jika kegagalan ini disebabkan oleh gangguan pusat di pihak CA, dampaknya akan dirasakan secara luas oleh ribuan server sekaligus dan biasanya dilaporkan secara publik di halaman status mereka. Pada kenyataannya, kegagalan terisolasi pada satu atau dua domain hampir selalu disebabkan oleh pembatasan keamanan di server lokal atau aturan DNS khusus. Salah satu penyebab yang jarang diperhatikan adalah keberadaan record DNS CAA (Certification Authority Authorization). Record CAA berfungsi menentukan CA mana saja yang diizinkan menerbitkan sertifikat untuk domain tersebut. Jika domain memiliki record CAA yang hanya mengizinkan penyedia tertentu, sementara sistem AutoSSL di server kita disetel untuk meminta sertifikat dari penyedia yang berbeda, proses validasi akan langsung ditolak oleh CA. Penyebab lainnya adalah firewall web server atau plugin keamanan. Bot validasi ACME melakukan pengecekan dari beberapa server di seluruh dunia (multi-perspective validation) untuk mencegah serangan pembajakan DNS. Plugin keamanan aplikasi atau modul seperti ModSecurity terkadang menganggap permohonan berulang dari bot ini sebagai serangan pemindaian otomatis, lalu memblokir IP penguji dengan status HTTP 403 Forbidden.
Penggunaan proxy seperti Cloudflare sering menimbulkan kesalahpahaman. Pemilik website melihat status SSL di peramban bertanda gembok aman karena fitur edge certificate dari penyedia CDN aktif. Mereka mengira AutoSSL di server asal (origin server) tidak lagi diperlukan atau akan otomatis sinkron. Kenyataannya, server asal tetap membutuhkan sertifikat SSL yang valid agar komunikasi antara proxy dan server hosting tetap terenkripsi secara ketat (Full atau Strict SSL). Masalah muncul ketika fitur proteksi CDN diatur terlalu agresif. Fitur seperti Under Attack Mode, tantangan bot berbasis JavaScript (Cloudflare Managed Challenge), atau aturan blokir wilayah (geoblocking) akan mencegat bot validasi CA sebelum permohonan mencapai server hosting kita. Karena bot ACME adalah script otomatis tanpa mesin rendering JavaScript peramban, bot tersebut gagal melewati verifikasi tantangan dan langsung menerima error 403 atau 503. Jika ingin proses renewal berjalan mulus di balik proxy, jalur URL untuk ACME challenge harus dikecualikan dari semua aturan keamanan perantara, atau validasi dialihkan menggunakan metode DNS-01 challenge yang memanfaatkan API DNS daripada jalur HTTP.
Banyak administrator mencari file teks acak di dalam folder public_html/.well-known/acme-challenge/ untuk memastikan apakah proses AutoSSL sedang berjalan. Ketika melihat folder tersebut kosong, mereka menyimpulkan sistem otomatisasi tidak bekerja. Di sistem kontrol panel modern seperti cPanel atau DirectAdmin, mekanisme validasi sering tidak menaruh file langsung di folder publik website pengguna guna menghindari konflik izin akses file (file permission). Sebagai gantinya, web server menggunakan alias konfigurasi tingkat server yang mengalihkan jalur /.well-known/acme-challenge/ ke direktori sistem khusus yang terisolasi. Setelah validasi selesai—baik sukses maupun gagal—file sementara tersebut langsung dihapus seketika oleh sistem. Masalah muncul jika arsitektur server menggunakan konfigurasi reverse proxy yang tidak standar, misalnya Nginx di depan Apache. Jika blok konfigurasi proxy Nginx meneruskan seluruh permohonan ke backend tanpa mendefinisikan alias direktori challenge secara selaras, permohonan file verifikasi akan jatuh ke penanganan yang salah. Kita bisa memeriksa log akses web server untuk melihat respons yang dikembalikan saat validator CA berkunjung.
BASH
# Memeriksa log akses web server untuk melihat respons challenge ACME
grep 'acme-challenge' /var/log/apache2/access.log | tail -n 20
Jika baris log pada contoh format output di atas menunjukkan kode status selain HTTP 200—misalnya 301 (pengalihan tak terduga), 403 (akses ditolak oleh izin atau firewall), atau 404 (file tidak ditemukan)—maka kita sudah memegang bukti konkret di mana rantai pengiriman validasi terputus.
Mengurai kegagalan pembaruan AutoSSL membutuhkan ketelitian membaca urutan koneksi. Jangan langsung menyimpulkan bahwa ada kerusakan pada penyedia sertifikat sebelum memeriksa log akses lokal. Pastikan jalur /.well-known/acme-challenge/ terbebas dari aturan rewrite aplikasi, verifikasi bahwa record DNS AAAA tidak menunjuk ke konfigurasi yang mati, dan pastikan tidak ada modul keamanan yang memblokir IP validasi. Dengan memahami bahwa sertifikat otomatis membutuhkan jalur HTTP port 80 yang bersih dan dapat diakses publik, masalah renewal yang berulang dapat diatasi langsung dari akarnya.