Preambule
Hola-hola, have a nice day everyone ✌️❤️ Pada artikel ini saya akan sharing gimana sih buat TLS certificate untuk domain kita secara gratis selamanya 🤔
Apa itu TLS/SSL?
TLS merupakan singkatan dari Transport Layer Secure, yakni pengembangan lanjut dari SSL (Socket Secure Layer). Namun, pada saat ini kebanyakan penggunaan istilah SSL digunakan untuk menjelaskan konsep sederhana dari TLS. Jadi, teknologi yang sekarang kita gunakan adalah TLS ya! 😎
Langkah-langkah
Udah, gas aja lah ya 😂 Selamat disimak ╰(°▽°)╯
Persiapan
Hal-hal yang perlu disiapkan antara lain adalah:,
- domain (bebas beli dimana aja pak)
- vps/server (ini juga bebas beli dimana aja, lebih baik lagi kalau udah dapat IPv4 sendiri pak)
Step 1 - Install Webserver NGINX & Certbot
Tanpa basa-basi, langsung gas bae 😎 Kita install dulu nih webservernya, kita bakalan pake nginx lagi cuy. Dan, of course ada tool baru nih, kenalin certbot. Cerbot merupakan tool CLI (Command-Line Interface) yang digunakan di server sistem UNIX (salah satunya GNU/Linux), fungsinya apa? Untuk membantu kita dalam generate SSL LetsEncrypt cuy ✌️
Untuk installnya gimana?
sudo apt install nginx certbot python3-certbot-nginx -y
Udah gitu aja 😏
CAUTIONDi beberapa kasus repository biasanya ada yang missing, silahkan update terlebih dahulu dengan cara berikut (jika Debian based)
sudo apt update sudo apt upgrade
Step 2 - Konfigurasi NGINX
Di step ini kita akan konfigurasi NGINX untuk protokol HTTP terlebih dahulu. Kenapa? Karena certbot akan mengaturnya untuk kita nanti 😎 Oke lets say kita mau reverse proxy ke app di VPS kita yang berjalan di port 5000
, maka ip address reversenya adalah http://127.0.0.1:5000
Maka konfigurasinya kurang lebih akan seperti ini (silahkan buat file baru di /etc/nginx/sites-available/
), misal saya buat dengan nama file /etc/nginx/sites-available/app-reverse-http
server {
listen 80;
listen [::]:80;
server_name domainkalian.id;
location / {
proxy_pass http://127.0.0.1:5000/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
IMPORTANT
- Jangan lupa ganti
domainkalian.id
dengan domain milik kalian.- Dan, jangan lupa juga mengganti
5000
pada proxy_pass untuk menyesuaikan port app yang berjalan.
Lalu untuk pengaktifannya bisa melalui command-command dibawah,
sudo ln -s /etc/nginx/sites-available/app-reverse-http /etc/nginx/sites-enabled/app-reverse-http
sudo nginx -t # apakah sudah aman?
sudo systemctl restart nginx
IMPORTANTSilahkan ganti
app-reverse-http
dengan nama file konfigurasi NGINX kalian masing-masing yang telah dibuat ya!
Step 3 - Tambah DNS Record Pada Domain
Agar cerbot dapat bekerja untuk mengeluarkan sertifikat TLS, maka diperlukannya verifikasi bahwa domain name yang di request telah aktif dan telah pointing ke server VPS. Silahkan menuju DNS Managementnya masing-masing, saya pribadi menggunakan DNS Managementnya Cloudflare.
Untuk data recordnya kurang lebih seperti gambar dibawah ya guys ya ✌️
Step 4 - Eksekusi certbot
Kalau kita udah pointing DNS Recordnya ke server VPSnya, ini udah gampang. Sisa kita eksekusi langsung aja si certbotnya 😏 Commandnya gimana?
sudo certbot -d domainkalian.id --nginx
Udah, singkat kan? 😋 Nah, silahkan teman-teman isi saja field yang diminta oleh certbotnya (seperti e-mail, yes dalam ToS, dan yes/no dikirim mailing oleh letsencrypt)
Jika teman-teman sudah mendapatkan output seperti gambar diatas, maka pembuatan sertifikat TLS telah berhasil 😏
Penutup
Kurang lebihnya itu saja yang dapat saya sampaikan, mohon maaf kurang dan lebihnya kata, see you next time ya, ehee ✌️