Cara Renewal Sertifikat SSL Let's Encrypt untuk Website Berbasis Nginx

Panduan lengkap cara memperbarui (renewal) SSL Let's Encrypt di NGINX untuk menjaga keamanan website. Dibahas langkah manual, otomatis dengan systemd timer, hingga alternatif cron job, serta mendukung berbagai OS Linux seperti Ubuntu, Debian, AlmaLinux, Rocky Linux, dan CentOS.

Waktu baca: 5 menit • Lihat progres baca di bar atas
Oleh Fadly Ilham Fatahilah
Dipublikasikan 25 November 2025

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):

  1. 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
  2. Web Server: NGINX 1.24.0

  3. 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.

Cek Masa Berlaku SSL Let's Encrypt

Gambar 1: Cek Masa Berlaku SSL Let's Encrypt

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:

Cek Timer Certbot

Gambar 2: Cek Timer Certbot

📌 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.

Butuh bantuan lebih lanjut?

Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.