Pendahuluan: Let’s Encrypt adalah Otoritas Sertifikat (Certificate Authority) yang menyediakan cara mudah untuk mendapatkan dan menginstal sertifikat TLS/SSL gratis, sehingga memungkinkan enkripsi HTTPS pada server web. Dengan bantuan klien perangkat lunak bernama Certbot, proses ini bisa dijalankan secara otomatis dan sederhana. Tutorial ini akan membahas cara mengamankan Nginx pada Ubuntu 20.04 atau versi terbaru menggunakan Let’s Encrypt dan Certbot untuk mendapatkan sertifikat SSL gratis dan mengaturnya agar diperbarui secara otomatis.
Disclaimer: Panduan ini menggunakan Ubuntu 20.04 sebagai contoh, namun dapat diterapkan pada versi Ubuntu atau Debian terbaru dengan sedikit penyesuaian. Pastikan Anda mengikuti setiap langkah dengan teliti, dan selalu periksa versi dan kompatibilitas pada server Anda sebelum memulai.
Persiapan:
Sebelum memulai, pastikan Anda memiliki:
- Server Ubuntu yang telah disiapkan dengan pengguna non-root yang memiliki izin
sudo
dan firewall aktif. - Nama domain yang terdaftar – misal,
contoh.com
. - Rekaman DNS yang sudah dikonfigurasi:
- A record dengan
contoh.com
menunjuk ke IP publik server. - A record dengan
www.contoh.com
menunjuk ke IP publik server.
- A record dengan
- Nginx terinstal – Buat server block baru untuk domain Anda, misalnya di
/etc/nginx/sites-available/contoh.com
.
Langkah-langkah:
Langkah 1 — Menginstal Certbot
Untuk mendapatkan sertifikat SSL dari Let’s Encrypt, pertama kita perlu menginstal Certbot dan plugin Nginx.
sudo apt update
sudo apt install certbot python3-certbot-nginx
Langkah 2 — Memeriksa Konfigurasi Nginx
Certbot memerlukan informasi server_name
dalam konfigurasi Nginx untuk menemukan block server yang tepat. Buka konfigurasi Nginx Anda:
sudo nano /etc/nginx/sites-available/contoh.com
Pastikan ada baris server_name
yang sesuai, misalnya:
server_name contoh.com www.contoh.com;
Simpan perubahan, lalu verifikasi konfigurasi Nginx:
sudo nginx -t
Jika tidak ada kesalahan, muat ulang Nginx:
sudo systemctl reload nginx
Langkah 3 — Mengizinkan HTTPS di Firewall
Jika firewall ufw
diaktifkan, tambahkan aturan untuk HTTPS:
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
Verifikasi aturan firewall:
sudo ufw status
Langkah 4 — Mendapatkan Sertifikat SSL
Jalankan perintah berikut untuk mendapatkan sertifikat SSL dari Let’s Encrypt:
sudo certbot --nginx -d contoh.com -d www.contoh.com
Jika ini pertama kalinya, Anda akan diminta memasukkan email dan menyetujui ketentuan layanan. Kemudian, pilih opsi redirect agar seluruh lalu lintas HTTP dialihkan ke HTTPS.
Langkah 5 — Memverifikasi Pembaruan Otomatis Certbot
Sertifikat Let’s Encrypt hanya berlaku selama 90 hari, sehingga penting untuk mengaktifkan pembaruan otomatis. Certbot sudah menambahkan timer systemd
yang menjalankan pembaruan dua kali sehari.
Cek status timer:
sudo systemctl status certbot.timer
Lakukan percobaan pembaruan dengan:
sudo certbot renew --dry-run
Jika tidak ada kesalahan, Certbot akan memperbarui sertifikat secara otomatis dan memuat ulang Nginx jika diperlukan.
Kesimpulan: Dalam tutorial ini, Anda telah menginstal Certbot, mendapatkan sertifikat SSL dari Let’s Encrypt, mengonfigurasi Nginx untuk menggunakan sertifikat ini, dan mengatur pembaruan otomatis. Anda sekarang memiliki server Nginx yang aman dengan HTTPS.