5. HTTPS dengan Let's Encrypt
Kenapa HTTPS wajib?
Section titled “Kenapa HTTPS wajib?”HTTPS mengenkripsi data antara pengunjung dan server, sehingga password dan isi halaman tidak bisa diintip di jaringan. Browser modern menandai situs HTTP sebagai “Not secure”, dan banyak fitur browser hanya jalan di HTTPS. Untungnya, Let’s Encrypt memberikan sertifikat gratis, dan certbot memasangnya otomatis.
Syarat sebelum mulai
Section titled “Syarat sebelum mulai”- Domain sudah punya record A yang mengarah ke IP publik server. Cek dengan
dig +short domain-kamu. - Port 80 dan 443 terbuka di firewall (
sudo ufw allow 'Nginx Full'). - Ada server block dengan
server_nameyang sesuai domain, dan situsnya sudah bisa diakses lewat HTTP.
Memasang sertifikat
Section titled “Memasang sertifikat”sudo apt install certbot python3-certbot-nginxsudo certbot --nginx -d lab.gstnv-lab.xyzCertbot membuktikan kamu memiliki domain itu, mengambil sertifikat, lalu mengubah konfigurasi nginx secara otomatis:
server { server_name lab.gstnv-lab.xyz; root /var/www/lab;
listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/lab.gstnv-lab.xyz/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/lab.gstnv-lab.xyz/privkey.pem; # managed by Certbot}
server { if ($host = lab.gstnv-lab.xyz) { return 301 https://$host$request_uri; } # managed by Certbot listen 80; server_name lab.gstnv-lab.xyz; return 404; # managed by Certbot}Blok kedua mengalihkan semua pengunjung HTTP ke HTTPS dengan 301. Konfigurasi GSTNV-LAB yang sebenarnya punya bentuk yang persis seperti ini.
Perpanjangan otomatis
Section titled “Perpanjangan otomatis”Sertifikat Let’s Encrypt berlaku 90 hari. Certbot memasang jadwal perpanjangan otomatis; kamu cukup memastikan prosesnya berjalan:
sudo certbot renew --dry-runsudo certbot certificatesLab: HTTPS gratis dengan Let’s Encrypt
Misi 0/7
- Pastikan situs sudah bisa diakses lewat HTTP.
Petunjuk
curl -I http://lab.gstnv-lab.xyz - Pasang certbot beserta plugin nginx.
Petunjuk
sudo apt install certbot python3-certbot-nginx - Minta sertifikat dan pasang otomatis ke nginx.
Petunjuk
sudo certbot --nginx -d lab.gstnv-lab.xyz - Lihat perubahan yang dibuat certbot di konfigurasi.
Petunjuk
cat /etc/nginx/sites-available/lab - Akses lewat HTTP lagi — sekarang dialihkan ke HTTPS.
Petunjuk
curl -I http://lab.gstnv-lab.xyz - Buka situs lewat HTTPS.
Petunjuk
curl https://lab.gstnv-lab.xyz - Uji perpanjangan otomatis sertifikat.
Petunjuk
sudo certbot renew --dry-run
GNU nano ·
Tab = indentasi

