© 2026 Basis Pengetahuan Cloudkilat. Hak Cipta Dilindungi.

|
>
>
  1. Beranda
  2. VPS - Kilat VM 2.0
  3. Instalasi dan Konfigurasi
  4. Cara Pasang SSL Gratis Let's Encrypt untuk Website berbasis NGINX pada VPS Ubuntu 24.04

Cara Pasang SSL Gratis Let's Encrypt untuk Website berbasis NGINX pada VPS Ubuntu 24.04

Pasang SSL gratis Let's Encrypt di NGINX Ubuntu 24.04 untuk amankan website dengan HTTPS mudah, cepat, dan tanpa biaya.

Waktu baca: 11 menit • Lihat progres baca di bar atas
Oleh Fadly Ilham Fatahilah
Dipublikasikan 17 September 2025
sslvpsKeamanan Website

Halo, Kawan Belajar!

Apakah kalian seorang developer atau pemilik website yang ingin mengamankan situs dengan HTTPS, tapi terkendala dengan biaya? Tenang, kalian tidak sendirian. Banyak developer yang mengalami hal serupa, apalagi saat mengelola proyek pribadi, website komunitas, atau sekadar ingin menambahkan lapisan keamanan dasar pada lingkungan staging atau produksi kecil.

Sebagai solusinya, ada Let's Encrypt, layanan sertifikat SSL gratis dan bersifat terbuka. Dengan Let's Encrypt, kamu bisa mengaktifkan HTTPS pada website yang kamu miliki tanpa perlu membayar sepeser pun. Solusi ini sangat cocok untuk proyek skala kecil hingga menengah, tanpa mengorbankan keamanan dasar.

Apa Itu Let's Encrypt?

Sebelum masuk ke langkah teknis, mari kenali dulu apa itu Let's Encrypt. Let's Encrypt merupakan layanan otoritas sertifikat (Certificate Authority / CA) yang menyediakan sertifikat SSL/TLS secara gratis. Tujuannya adalah untuk membuat enkripsi web menjadi sesuatu yang mudah diakses oleh siapa saja, tanpa hambatan biaya atau kompleksitas teknis.

Layanan ini dikelola oleh organisasi nirlaba bernama Internet Security Research Group (ISRG) dan telah digunakan oleh jutaan website di seluruh dunia.

Dengan Let's Encrypt, kamu bisa mendapatkan sertifikat SSL secara cepat dan otomatis cukup dari server kamu sendiri, tanpa proses verifikasi email atau akun manual.

Kenapa Memilih Let's Encrypt?

Banyak alasan kenapa Let's Encrypt menjadi pilihan favorit para developer dan sysadmin di seluruh dunia. Berikut beberapa kelebihannya:

  • Gratis
    Tidak ada biaya tahunan atau pendaftaran. Kamu bisa langsung mengaktifkan HTTPS tanpa keluar biaya sepeser pun.

  • Aman
    Meskipun gratis, Let's Encrypt menggunakan teknologi enkripsi dan protokol keamanan yang sama kuatnya dengan SSL berbayar. Data antara pengunjung dan server tetap terlindungi.

  • Mudah Digunakan
    Proses pemasangan bisa dilakukan langsung dari server lewat tool seperti Certbot. Tidak perlu membuat akun, tidak perlu validasi email, cukup lewat baris perintah.

  • Otomatis
    Proses penerbitan dan perpanjangan sertifikat bisa diotomatisasi. Jadi kamu tidak perlu khawatir lupa memperbarui sertifikat setiap 90 hari.

Batasan Let's Encrypt yang Perlu Kamu Ketahui

Meski sangat bermanfaat, Let's Encrypt juga memiliki beberapa batasan yang perlu diperhatikan:

  • Hanya mendukung Domain Validation (DV)
    Tidak ada verifikasi organisasi (OV) atau validasi tingkat lanjut seperti Extended Validation (EV).

  • Masa aktif hanya 90 hari
    Namun jangan khawatir, sertifikat SSL Let's Encrypt dapat diperpanjang masa aktinya.

  • Tidak ada garansi atau dukungan premium
    Berbeda dengan SSL berbayar yang biasanya disertai support dan jaminan asuransi.

  • Wildcard hanya bisa diaktifkan via DNS validation (manual)
    Jika kamu butuh wildcard SSL (untuk semua subdomain), prosesnya sedikit lebih kompleks

Persyaratan Awal

Sebelum mulai instalasi SSL Let's Encrypt, pastikan kamu sudah memenuhi persyaratan awal berikut:

  • VPS dengan sistem operasi Ubuntu 24.04
    Jika belum memiliki VPS, kamu bisa menggunakan Kilat VM 2.0 dari CloudKilat. Untuk panduan pemesanan layanan, silakan ikuti langkah-langkah berikut ini.

  • Website berbasis web server NGINX dengan domain aktif
    Pastikan kamu sudah memiliki website yang menggunakan NGINX dan domain yang telah diarahkan atau dipointing ke VPS milikmu. Jika belum punya domain, kamu bisa registrasi domain di CloudKilat dengan berbagai pilihan ekstensi. Panduan pendaftaran domain tersedia di sini.

  • Hak akses ke user dengan privilege sudo (root) pada VPS
    Akses ini diperlukan untuk menjalankan instalasi dan konfigurasi Certbot.

  • Domain tidak dalam mode proxied
    Jika kamu menggunakan layanan seperti Cloudflare, Sucuri, atau Web Application Firewall (WAF) lainnya, pastikan fitur proxy dalam kondisi nonaktif sementara waktu. Hal ini diperlukan agar Let's Encrypt bisa melakukan verifikasi domain secara langsung ke IP VPS kamu.

Rangkuman Versi Aplikasi yang Digunakan

Dalam panduan ini, berikut detail versi dari sistem operasi dan aplikasi yang digunakan:

  1. Sistem Operasi Ubuntu 24.04 LTS
  2. NGINX versi 1.24.0
  3. Certbot 2.9.0

A. Instalasi Let's Encrypt untuk Satu Common Name Domain

Langkah-langkah berikut digunakan untuk mengamankan satu domain (misalnya namadomain.com dan www.namadomain.com) menggunakan Certbot, tool resmi dari Let's Encrypt yang memudahkan proses instalasi dan konfigurasi SSL di web server.

Langkah 1: Install Certbot dan Plugin NGINX

Sebelum memulai, pastikan sistem kamu memiliki Certbot dan plugin untuk NGINX agar konfigurasi SSL dapat dilakukan secara otomatis. Jalankan perintah berikut untuk menginstalnya:

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

Langkah 2: Periksa Konfigurasi Server Block NGINX

Sebelum melanjutkan instalasi SSL, pastikan kamu sudah memiliki konfigurasi server block di NGINX yang sesuai dengan domain yang akan diamankan.

a. Buka file konfigurasi NGINX untuk domain kamu:

sudo nano /etc/nginx/sites-available/namadomain.com

Catatan: Ganti namadomain.com dengan nama file konfigurasi sesuai dengan domain yang kamu gunakan.

b. Temukan baris server_name, dan pastikan sudah diatur dengan nama domain yang diamankan.

Instal Let's Encrypt - Konfigurasi Server Block NGINX

Gambar 1: Konfigurasi Server Block NGINX

c. Simpan konfigurasi dan tutup editor (jika ada perubahan).

d. Periksa apakah sintaks konfigurasi NGINX sudah benar:

sudo nginx -t

Instal Let's Encrypt - Cek Sintaks Konfigurasi NGINX

Gambar 2: Cek Sintaks Konfigurasi NGINX

e. Jika tidak ada error, lanjutkan dengan me-reload layanan NGINX agar perubahan diterapkan:

sudo systemctl reload nginx

Langkah 3: Jalankan Certbot

Gunakan perintah berikut untuk mendapatkan sertifikat SSL dari Let's Encrypt dan sekaligus mengonfigurasikan server block NGINX website kamu agar menggunakan HTTPS:

sudo certbot --nginx -d namadomain.com

Catatan: Mohon sesuaikan namadomain.com sesuai dengan nama domain atau subdomain yang ingin kamu amankan.

Instal Let's Encrypt - Perintah untuk mendapatkan Sertfikat SSL

Gambar 3: Perintah untuk mendapatkan Sertfikat SSL

  • Jika proses berhasil, kamu akan melihat pesan Successfully received certificate yang menandakan bahwa domain kamu telah berhasil diverifikasi dan sertifikat SSL berhasil diterbitkan oleh Let's Encrypt.

  • Selain itu, kamu juga akan melihat pesan Deploying certificate yang menunjukkan bahwa konfigurasi server block NGINX website kamu telah diperbarui secara otomatis agar menggunakan sertifikat HTTPS.

  • Secara default, sertifikat dan key SSL yang dihasilkan Certbot akan disimpan di direktori berikut:
    a. Certificate (file .pem) >> /etc/letsencrypt/live/namadomain.com/fullchain.pem
    b. Private Key >> /etc/letsencrypt/live/namadomain.com/privkey.pem

Kamu bisa menggunakan path ini jika ingin mengelola konfigurasi SSL secara manual di masa mendatang.

Langkah 4: Pengujian

Setelah proses instalasi sertifikat SSL selesai, penting untuk memastikan bahwa HTTPS telah aktif dan berfungsi dengan benar pada domain kamu.

Berikut beberapa cara untuk menguji instalasi SSL:

a. Akses Website Melalui HTTPS

Buka browser dan kunjungi domain kamu dengan awalan https://, misalnya:

https://namadomain.com

Catatan: Mohon sesuaikan namadomain.com sesuai dengan nama domain atau subdomain kamu .

Jika berhasil, ikon gembok akan muncul di address bar sebagai tanda koneksi aman.

Instal Let's Encrypt - Uji Instalasi SSL dengan Mengakses Website melalui Browser

Gambar 4: Uji Instalasi SSL dengan Mengakses Website melalui Browser

b. Gunakan Online Tools

Kamu bisa menguji instalasi SSL menggunakan online tools seperti SSL Checker untuk menguji detail instalasi SSL, seperti:

  • Validitas sertifikat
  • Expiry date
  • Rating keamanan
  • Konfigurasi chain

Instal Let's Encrypt - Uji Instalasi SSL Menggunakan SSL Checker

Gambar 5: Uji Instalasi SSL Menggunakan SSL Checker

B. Instalasi Let's Encrypt Wildcard SSL

Sertifikat SSL Wildcard adalah jenis sertifikat SSL yang dapat digunakan untuk mengamankan satu domain utama beserta seluruh subdomainnya pada level yang sama (misal: *.namadomain.com).

Tidak seperti sertifikat SSL biasa yang bisa divalidasi melalui HTTP, wildcard SSL dari Let's Encrypt harus menggunakan metode DNS challenge. Itu artinya, nantinya kamu perlu menambahkan DNS record (TXT) ke pengelola domain kamu untuk membuktikan kepemilikan domain.

Langkah 1: Install Certbot

Sama seperti instalasi SSL biasa, Certbot digunakan untuk mengelola proses instalasi SSL Let's Encrypt. Namun, untuk wildcard, kita tidak menggunakan plugin NGINX, melainkan metode manual via DNS. Silakan jalankan perintah berikut untuk melakukan instalasi Certbotnya:

sudo apt update
sudo apt install certbot -y

Langkah 2: Jalankan Certbot dengan DNS Challenge

Gunakan perintah berikut untuk meminta sertifikat wildcard menggunakan metode DNS manual:

sudo certbot certonly --manual --preferred-challenges=dns -d "*.namadomain.com" -d namadomain.com

Catatan: Gantilah namadomain.com dengan domain yang ingin kamu amankan.

Instal Let's Encrypt - Perintah untuk mendapatkan Sertfikat SSL Wildcard

Gambar 6: Perintah untuk mendapatkan Sertfikat SSL Wildcard

Langkah 3: Tambahkan DNS TXT Record

Setelah menjalankan perintah Certbot, kamu akan menerima instruksi untuk menambahkan sebuah DNS TXT record sebagai metode verifikasi domain. Contoh pesan yang ditampilkan:

Please deploy a DNS TXT record under the name
_acme-challenge.namadomain.com with the following value:

s8HwaNd_jft7OpgKv63AAoaU7piG...

Before continuing, verify the record is deployed.

Silakan masuk ke portal pengelola domain kamu, lalu tambahkan record seperti berikut:

Hostname: _acme-challenge
Record Type: TXT
Value: (isi dari certbot)

Catatan: Gantilah (isi dari Certbot) dengan string verifikasi yang diberikan Certbot saat proses dijalankan.

Jika kamu mendaftarkan domain melalui CloudKilat dan menggunakan Name Server default CloudKilat, kamu bisa menambahkan record tersebut melalui portal client area CloudKilat. Berikut panduan lengkapnya terkait Manajemen DNS Record di Portal Client Area CloudKilat.

Setelah record ditambahkan, tunggu beberapa menit hingga proses propagasi DNS selesai. Untuk memastikan bahwa DNS TXT record telah tersebar dan dapat diakses publik, kamu bisa melakukan pengecekan menggunakan online tools seperti: (https://www.whatsmydns.net/).

Setelah yakin bahwa record telah terpropagasi dengan benar, kamu bisa kembali ke terminal lalu tekan Enter untuk melanjutkan verifikasi.

Langkah 4: Verifikasi & Simpan Sertifikat

Jika validasi berhasil, kamu akan melihat pesan seperti:

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/namadomain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/namadomain.com/privkey.pem

Instal Let's Encrypt - Sertifikat SSL Wildcard berhasil Terbit

Gambar 7: Sertifikat SSL Wildcard berhasil Terbit

Kamu bisa melakukan verifikasi sertifikat yang telah di-generate dengan:

sudo certbot certificates

Instal Let's Encrypt - Verifikasi Sertifikat SSL

Gambar 8: Verifikasi Sertifikat SSL

Berikut penjelasan dari masing-masing bagian:

  • Certificate Name: Nama sertifikat yang terdaftar di Certbot. Biasanya berdasarkan domain utama.
  • Serial Number: Nomor unik dari sertifikat untuk identifikasi.
  • Key Type: Jenis kunci kriptografi yang digunakan, misalnya RSA atau ECDSA.
  • Domains: Daftar domain yang tercakup dalam sertifikat. Jika kamu menggunakan wildcard, maka akan terlihat seperti *.namadomain.com dan namadomain.com.
  • Expiry Date: Tanggal kedaluwarsa sertifikat.
  • Certificate Path: Lokasi file sertifikat publik (fullchain.pem) yang digunakan untuk konfigurasi SSL di server.
  • Private Key Path: Lokasi file private key (privkey.pem) yang digunakan untuk proses enkripsi/dekripsi.

Catatan: File fullchain.pem dan privkey.pem inilah yang digunakan dalam konfigurasi Web Server NGINX untuk mengaktifkan SSL pada website kamu. Jangan sampai mengubah atau membagikan file privkey.pem karena merupakan bagian rahasia dari sistem keamanan sertifikat.

Langkah 5: Konfigurasi NGINX dengan Wildcard SSL

Edit file konfigurasi server block untuk website kamu:

sudo vim /etc/nginx/sites-available/namadomain.com

Catatan: Silakan sesuaikan namadomain.com dengan nama file konfigurasi server block yang kamu gunakan. Lokasi file ini bisa berbeda tergantung struktur server kamu, namun umumnya berada di /etc/nginx/sites-available/.

Berikut contoh konfigurasi server block NGINX yang sudah disesuaikan untuk:

  • Melayani HTTPS untuk domain maupun subdomain
  • Melakukan redirect dari HTTP ke HTTPS
# Redirect HTTP ke HTTPS
server {
    listen 80;
    server_name namadomain.com;
    return 301 https://$host$request_uri;
}

# Server block untuk HTTPS
server {
    listen 443 ssl;
    server_name namadomain.com;

    ssl_certificate /etc/letsencrypt/live/namadomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/namadomain.com/privkey.pem;

    root /var/www/html;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
}

Catatan:

  • Jangan lupa mengganti namadomain.com dengan domain atau subdomain kamu yang sebenarnya.
  • Pastikan file sertifikat sudah tersedia di path /etc/letsencrypt/live/namadomain.com/.

Setelah selesai, simpan dan uji konfigurasi dengan menjalankan perintah berikut:

sudo nginx -t
sudo systemctl reload nginx

Langkah 6: Pengujian

Setelah proses instalasi sertifikat SSL Wildcard selesai, penting untuk memastikan bahwa HTTPS telah aktif dan berfungsi dengan benar pada domain kamu.

Berikut beberapa cara untuk menguji instalasi SSL:

a. Akses Website Melalui HTTPS

Buka browser dan kunjungi domain kamu dengan awalan https://, misalnya:

https://namadomain.com

Catatan: Mohon sesuaikan namadomain.com sesuai dengan nama domain atau subdomain kamu .

Jika berhasil, akan muncul ikon gembok di address bar sebagai tanda koneksi aman. Cek detail sertifikat di browser, pastikan Common Name (CN) menampilkan format *.namadomain.com yang menandakan sertifikat wildcard.

Instal Let's Encrypt - Uji Instalasi SSL dengan Mengakses Website melalui Browser

Gambar 9: Uji Instalasi SSL dengan Mengakses Website melalui Browser

b. Gunakan Online Tools

Kamu bisa menguji instalasi SSL menggunakan online tools seperti SSL Checker untuk menguji detail instalasi SSL, seperti:

  • Validitas sertifikat
  • Expiry date
  • Rating keamanan
  • Konfigurasi chain

Instal Let's Encrypt - Uji Instalasi SSL Menggunakan SSL Checker

Gambar 10: Uji Instalasi SSL Menggunakan SSL Checker

Penutup

Mengamankan website dengan HTTPS bukan lagi pilihan, tapi kebutuhan. Dengan memanfaatkan Let's Encrypt, kamu bisa mendapatkan sertifikat SSL gratis yang aman, mudah dipasang, dan dapat diperbarui secara otomatis, baik untuk satu domain maupun seluruh subdomain dengan sertifikat wildcard.

Langkah-langkah di atas diharapkan dapat membantu kamu, baik sebagai developer, sysadmin, maupun pemilik website, untuk meningkatkan keamanan situs tanpa harus mengeluarkan biaya tambahan. Ingat, meskipun gratis, SSL dari Let's Encrypt tetap memberikan perlindungan yang setara dengan sertifikat berbayar dalam hal enkripsi data antara pengunjung dan server.

Jadi, tunggu apa lagi? Segera aktifkan HTTPS pada website kamu dan tunjukkan kepada pengunjung bahwa keamanan data mereka adalah prioritas utama. Dengan begitu, selain melindungi pengguna, kamu juga meningkatkan kepercayaan dan reputasi situs di mata publik maupun mesin pencari.

Butuh bantuan lebih lanjut?

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

Hubungi Kami