Halo, Kawan Belajar!
Apakah kamu pernah mengalami sertifikat SSL di website tiba-tiba kadaluarsa sehingga muncul peringatan "Your connection is not private" di browser? Peringatan ini biasanya muncul karena sertifikat SSL/TLS yang digunakan telah kedaluwarsa atau tidak valid. Hal ini dapat terjadi pada semua jenis SSL, termasuk yang berbayar maupun gratis, seperti Let's Encrypt yang memiliki masa aktif hanya 90 hari.
Artinya, setiap tiga bulan sekali kamu harus memperbarui (renewal) sertifikat agar koneksi HTTPS di websitemu tetap aman. Untungnya, proses renewal SSL Let's Encrypt sangat mudah, bahkan bisa diatur agar berjalan otomatis di server.
Pada panduan ini, kita akan membahas langkah-langkah perpanjangan sertifikat untuk web server NGINX di berbagai sistem operasi Linux.
Apa Itu Renewal SSL Let's Encrypt?
Renewal adalah proses memperbarui masa berlaku sertifikat SSL sebelum habis masa berlakunya. Let's Encrypt mengeluarkan sertifikat yang berlaku maksimal 90 hari, namun kita bisa memperbaruinya kapan saja, biasanya 30 hari sebelum kadaluarsa. Proses ini bisa dilakukan manual atau otomatis menggunakan cron jobs.
Mengapa Renewal SSL Itu Penting?
Menghindari downtime
Sertifikat kadaluarsa akan membuat pengunjung tidak bisa mengakses website secara aman.Menjaga reputasi situs
Browser akan menandai situs tanpa SSL sebagai "Not Secure".Menjamin keamanan data
SSL memastikan komunikasi antara server dan pengunjung terenkripsi.
Persyaratan Awal
Sebelum melakukan renewal SSL Let's Encrypt, pastikan kamu sudah memenuhi persyaratan berikut:
Server dengan akses root/sudo
Dibutuhkan untuk menjalankan perintah instalasi dan konfigurasi.Web server NGINX dengan domain aktif
Pastikan domain sudah diarahkan ke IP server tempat NGINX berjalan.Certbot sudah terpasang
Certbot adalah tool utama yang digunakan untuk mengelola SSL Let's Encrypt.Port 80 (HTTP) dan 443 (HTTPS) terbuka
Diperlukan agar Let's Encrypt dapat melakukan validasi domain.Domain tidak dalam mode proxied
Jika menggunakan layanan seperti Cloudflare, pastikan proxy nonaktif sementara waktu
Catatan:
Jika kamu belum pernah memasang SSL sebelumnya, silakan ikuti panduan lengkap kami di artikel berikut: Cara Pasang SSL Gratis Let’s Encrypt untuk Website berbasis NGINX pada VPS Ubuntu 24.04
Rangkuman Versi Aplikasi yang Digunakan
Dalam panduan ini, saya menggunakan contoh versi berikut (silakan sesuaikan dengan servermu):
Sistem Operasi: Ubuntu 24.04 LTS
Catatan: Panduan ini dapat diterapkan pada berbagai sistem operasi Linux berikut:
- AlmaLinux 8
- AlmaLinux 9
- CentOS Stream 9
- Debian 12
- Rocky Linux 8
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
Web Server: NGINX 1.24.0
Certbot: 2.9.0
Langkah-Langkah Renewal Sertifikat SSL Let's Encrypt
Setelah persyaratan awal terpenuhi, berikut langkah komprehensif untuk melakukan renewal sertifikat SSL Let's Encrypt pada website dengan web server NGINX.
Langkah 1: Cek Masa Berlaku SSL Let's Encrypt
Pertama, cek terlebih dahulu sertifikat SSL yang sudah terpasang di servermu. Jalankan perintah berikut:
sudo certbot certificates
Hasilnya akan menampilkan daftar domain yang sudah menggunakan SSL dari Let's Encrypt, beserta lokasi file sertifikat dan tanggal kedaluwarsa.
Langkah 2: Uji Perpanjangan Sertifikat
Sebelum benar-benar memperbarui, lakukan simulasi renewal untuk memastikan proses bisa berjalan lancar:
sudo certbot renew --dry-run
Perintah ini tidak benar-benar memperbarui sertifikat, tetapi hanya memastikan bahwa prosesnya bisa berjalan lancar tanpa error. Jika hasilnya sukses, berarti servermu sudah siap untuk auto-renewal.
Langkah 3: Perbarui Sertifikat Secara Manual
Untuk melakukan renewal secara manual, cukup jalankan perintah berikut:
sudo certbot renew
Jika sertifikat masih jauh dari masa kedaluwarsa, Certbot biasanya akan menampilkan pesan bahwa belum perlu diperbarui. Namun jika sudah masuk periode renewal (biasanya 30 hari sebelum expired), maka Certbot akan otomatis memperpanjangnya, dan kamu akan melihat pesan seperti:
Congratulations, all renewals succeeded:
/etc/letsencrypt/live/namadomain.com/fullchain.pem (success)
Setelah proses selesai, reload NGINX agar menggunakan sertifikat terbaru:
sudo systemctl reload nginx
Langkah 4: Renewal SSL Otomatis
Secara default, Certbot memasang systemd timer untuk melakukan pengecekan dan renewal otomatis. Kamu bisa memastikannya dengan:
systemctl list-timers | grep certbot
Contoh output:
📌 Penjelasan kolomnya:
- Sat 2025-09-13 00:15:16 WIB → Jadwal berikutnya certbot.timer akan berjalan.
- 3h 21min left → Sisa waktu menuju eksekusi berikutnya.
- Fri 2025-09-12 13:09:51 WIB → Waktu terakhir timer dijalankan.
- 7h ago → Jeda sejak eksekusi terakhir.
- certbot.timer certbot.service → Menunjukkan bahwa timer ini menjalankan certbot.service.
👉 Jika kamu menemukan hasil yang sama, artinya Certbot sudah terjadwal otomatis untuk melakukan pengecekan dan perpanjangan sertifikat dua kali sehari (pukul 00:00 dan 12:00) dengan jeda acak tambahan. Jika memang sudah waktunya diperbarui, Certbot akan memperbarui sertifikat dan me-reload NGINX secara otomatis. Jadi kamu tidak perlu lagi menjalankan perintah manual.
Namun jika pada VPS kamu systemd timer tidak tersedia atau tidak aktif, kamu bisa membuat cron job manual. Misalnya, tambahkan ke crontab dengan:
sudo crontab -e
Lalu tambahkan baris berikut:
0 0,12 * * * certbot renew --quiet && systemctl reload nginx
Artinya, perintah certbot renew akan dijalankan setiap hari pukul 00:00 dan 12:00, lalu otomatis reload NGINX jika ada sertifikat yang diperbarui.
Penutup
Renewal SSL Let's Encrypt sangat penting untuk menjaga keamanan website tetap optimal. Dengan adanya systemd timer, proses ini bisa berjalan otomatis tanpa campur tangan kita. Namun, jika servermu tidak memiliki systemd timer, kamu masih bisa menggunakan cron job manual untuk memastikan sertifikat selalu terbarui.
Dengan langkah-langkah ini, kamu tidak perlu khawatir lagi website menampilkan pesan “Your connection is not private” gara-gara SSL kadaluarsa.