Kalau kamu punya situs dan masih jalan di HTTP polos, cepat atau lambat kamu bakal butuh SSL. Bukan cuma biar muncul ikon gembok di address bar, tapi soalnya SSL itu yang bikin data antara pengunjung dan server kamu dienkripsi. Jadi hal-hal sensitif kayak password atau isian form nggak gampang diintip orang lain di tengah jalan. Enaknya, sertifikat dari Let's Encrypt tuh gratis total, dan pasangnya bisa otomatis pakai tool namanya Certbot. Nah, di sini kita bahas caranya pelan-pelan sampai jadi.
Kenapa Situs Perlu HTTPS?
HTTP biasa itu ngirim data dalam bentuk teks polos yang gampang banget disadap. HTTPS nambahin lapisan enkripsi SSL/TLS, jadi lalu lintas datanya aman. Selain soal keamanan, sebenarnya ada beberapa alasan lain juga:
- Kepercayaan pengunjung. Browser sekarang nandain situs HTTP sebagai "Not Secure". Lihat tulisan gitu, orang jadi ragu mau lanjut.
- SEO. Google udah lama menjadikan HTTPS sebagai salah satu sinyal peringkat.
- Fitur modern. Banyak fitur browser baru yang cuma jalan kalau situsnya HTTPS.
Let's Encrypt sendiri itu otoritas sertifikat nirlaba yang ngasih sertifikat SSL gratis. Masa berlakunya 90 hari, tapi tenang, bisa diperbarui otomatis.
Persiapan Sebelum Mulai
Sebelum mulai pasang SSL, ada beberapa hal yang mesti udah siap dulu:
- Kamu punya VPS dengan nginx yang udah jalan. Kalau belum, mampir dulu ke setup nginx untuk banyak domain di satu VPS atau panduan setup dasarnya.
- Domain kamu udah ngarah ke IP VPS lewat DNS record A.
- Port 80 dan 443 kebuka di firewall.
Buat ngecek firewall pakai UFW:
sudo ufw allow 'Nginx Full'
sudo ufw status
Nginx Full ini sekali jalan langsung buka port 80 (HTTP) sama 443 (HTTPS) barengan.
Memasang Certbot
Certbot itu tool resmi buat ngambil dan masang sertifikat Let's Encrypt. Cara yang paling stabil di Ubuntu sekarang adalah lewat snap:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Atau kalau mau, kamu juga bisa pasang lewat apt:
sudo apt update
sudo apt install certbot python3-certbot-nginx -y
Paket python3-certbot-nginx ini jangan sampai kelewat, soalnya dia yang bikin Certbot ngerti cara ngubah konfigurasi nginx secara otomatis.
Mengambil dan Memasang Sertifikat
Pastikan dulu server_name di file konfigurasi nginx kamu udah berisi domain yang bener, soalnya Certbot baca info dari situ. Kalau udah, tinggal jalanin:
sudo certbot --nginx -d situssatu.com -d www.situssatu.com
Nanti Certbot bakal nanya beberapa hal:
- Alamat email buat notifikasi (misalnya kalau sertifikatnya udah mau kedaluwarsa).
- Persetujuan atas syarat layanan.
Habis itu, Certbot otomatis ngeverifikasi kalau domain itu memang punya kamu, ngambil sertifikatnya, terus nyunting blok server nginx biar dukung HTTPS. Dia juga bisa sekalian nambahin pengalihan otomatis dari HTTP ke HTTPS kalau kamu setuju.
Kalau berhasil, bakal muncul pesan "Congratulations". Sekarang coba buka situsmu pakai https:// dan perhatiin, ikon gemboknya udah nongol di address bar.
Memastikan Auto-Renew Berjalan
Inget, sertifikat Let's Encrypt cuma berlaku 90 hari, makanya pembaruan otomatis itu penting banget. Biasanya Certbot udah masang timer buat ini. Buat mastiin, coba uji proses pembaruannya pakai mode simulasi dulu:
sudo certbot renew --dry-run
Kalau perintah ini kelar tanpa error, berarti auto-renew-nya udah siap. Kamu nggak perlu lagi ribet perbarui sertifikat manual.
Cek juga apakah timer-nya aktif:
sudo systemctl status snap.certbot.renew.timer
Mengecek Konfigurasi HTTPS
Setelah SSL aktif, nggak ada salahnya mastiin konfigurasi nginx kamu nggak ada yang rusak:
sudo nginx -t
sudo systemctl reload nginx
Buat keamanan tambahan, kamu bisa aktifin HSTS dan pengaturan keamanan lainnya. Bahasan ini nyambung banget sama cara hardening VPS Ubuntu dari serangan, jadi enaknya lanjut ke sana setelah SSL-nya kepasang.
FAQ
Apakah sertifikat Let's Encrypt benar-benar gratis?
Iya, gratis beneran tanpa biaya tersembunyi. Bedanya sama sertifikat berbayar cuma di masa berlakunya yang lebih pendek (90 hari) dan nggak ada garansi atau validasi organisasi.
Bagaimana kalau verifikasi domain gagal?
Penyebab paling sering itu DNS-nya belum ngarah ke IP server, atau port 80 ketutup firewall. Pastiin domain udah resolve ke VPS dan port 80 kebuka, terus coba lagi.
Apakah satu sertifikat bisa untuk banyak domain?
Bisa. Tinggal tambahin aja beberapa flag -d dalam satu perintah Certbot, biar sekalian nyakup beberapa domain atau subdomain barengan.
Penutup
Masang SSL gratis pakai Let's Encrypt dan Certbot cuma makan waktu beberapa menit, tapi hasilnya kerasa: data terenkripsi, pengunjung lebih percaya, dan SEO ikut kebantu. Polanya gampang kok, intinya pasang Certbot, jalanin, terus mastiin auto-renew aktif.
Satu tips praktis: selalu jalanin sudo certbot renew --dry-run habis pemasangan buat mastiin pembaruan otomatisnya beneran jalan. Jadi situsmu nggak tiba-tiba kehilangan HTTPS di kemudian hari.