Skip to main content

Konfigurasi HTTPS di Nginx menggunakan Let's Encrypt (Certbot)

Panduan ini akan membantu Anda mengamankan website Anda dengan HTTPS secara gratis menggunakan Let's Encrypt dan Certbot di server Nginx.


Prasyarat

Pastikan Anda sudah memiliki:

  • Server dengan akses root (misalnya VPS).
  • Nama domain yang sudah mengarah ke IP server (gunakan DNS A record).
  • Aplikasi Nginx sudah terinstall dan berjalan.

1. Install Certbot dan Plugin Nginx

Untuk Ubuntu/Debian:

sudo apt update
sudo apt install certbot python3-certbot-nginx

2. Pastikan Domain Aktif dan Arah ke Server

Gunakan perintah berikut untuk mengecek apakah domain mengarah ke server:

ping your-domain.com
Jika IP yang muncul adalah IP server Anda, berarti domain sudah siap.

3. Jalankan Certbot untuk Nginx

Gunakan perintah berikut untuk mengatur HTTPS secara otomatis:

sudo certbot --nginx -d your-domain.com -d www.your-domain.com

Saat diminta:

  • Pilih apakah ingin redirect semua HTTP ke HTTPS (opsi ini direkomendasikan).
  • Certbot akan mengedit file konfigurasi Nginx Anda dan menambahkan blok SSL secara otomatis.

4. Verifikasi HTTPS Aktif

Akses domain Anda di browser dengan https://your-domain.com. Pastikan:

  • Tidak ada peringatan SSL.
  • Ikon gembok muncul di address bar.

5. Perpanjangan Otomatis

Let's Encrypt hanya berlaku selama 90 hari, tapi Certbot akan mengatur perpanjangan otomatis.

Periksa statusnya:

sudo systemctl status certbot.timer

Coba uji perpanjangan manual:

sudo certbot renew --dry-run

Jika tidak ada error, artinya sistem perpanjangan otomatis bekerja dengan baik.


Troubleshooting Umum

MasalahSolusi
Port 80/443 diblokJalankan: sudo ufw allow 'Nginx Full'
Domain belum aktifPastikan DNS sudah benar dan propagasi selesai
Certbot gagal memperbaruiPastikan file konfigurasi Nginx valid: sudo nginx -t

Optional: Hapus SSL

Jika Anda ingin menghapus HTTPS:

1. Nonaktifkan sertifikat:

sudo certbot delete

2. Edit file Nginx untuk menghapus blok listen 443 dan ssl_*.

3. Reload Nginx:

sudo systemctl reload nginx

Selesai!

Website Anda sekarang sudah aman dengan HTTPS gratis dari Let’s Encrypt menggunakan Nginx dan Certbot.