Cara Install SSL di NGINX
- Mengatasi Kendala Password Compromise Alert - Mei 29, 2023
- Penyebab Inode Naik dan Cara Memperbaikinya - Februari 7, 2023
- Cara Cek Inode Pada VPS - Februari 3, 2023
Pengantar
SSL adalah sebuah teknologi yang berfungsi untuk menjaga koneksi internet tetap aman dan menjaga data sensitif apa pun yang sedang dikirim antara dua sistem. Saat ini SSL sudah sangat wajar dan bisa dianggap kebutuhan utama dalam membuat website.
Untuk kamu mengguna VPS, jika VPS kamu dipasangkan Cpanel maka tinggal diaktifkan saja. Nah sementara untuk kamu pengguna VPS tanpa panel, kamu bisa ikuti panduan ini untuk install SSL di VPS. Cuss ikuti tutorialnya sob!
Prasyarat
Ada beberapa syarat yang harus kamu penuhi agar berhasil mengikuti panduan ini:
- Sudah punya sertifikat SSL atas nama domain kamu. Beli VPS dengan cara order SSL di Jagoan Hosting.
- Siapkan file certificate SSL kamu, ini bisa didapatkan setelah beli tadi, kamu aktivasi dengan tutorial aktivasi SSL.
- Punya VPS dan bisa diremote melalui SSH.
Langkah1, Siapkan CRT, Private key, dan Ca-bundle SSL
Umumnya ada tiga bahan yang perlu disiapkan untuk install SSL di vps, berikut penjelasan masing masingnya :
- Private Key
Private key adalah kunci untuk membuka CRT dan CA-Bundle. Nah kunci ini kamu dapatkan / simpan saat awal melakukan generate CSR. Coba cek tutorial aktivasi SSL langkah awal ini.
Kalau kunci ini hilang, kamu perlu melakukan reissue SSL untuk membuat kunci yang baru.
Ciri - ciri private key :
Kalau kamu buka file private key, maka dibagian atas ada tulisan seperti ini :
-----BEGIN PRIVATE KEY-----
- CRT (Certificate)
File ini adalah certificate utama dari domain kamu, didapatkan setelah proses aktivasi SSL selesai dilakukan.
Ciri - ciri CRT :
Yang paling terlihat itu, nama filenya tidak mengandung unsur kata-kata CA. Seperti apa itu ? Cek penjelasan CA-Bundle dibawah ini.
- CA-Bundle SSL
CA merupakan Certificate Authority yang menunjukkan SSL ini benar-benar valid diberikan oleh otoritas yang berwenang. Biasanya terdiri dari dua atau lebih file CA, yang perlu kamu gabung secara manual, agar menjadi CA-Bundle.
Nah pas kamu download file itu, berupa zip yang isinya ada tiga file CA dan satu file CRT.
CRT yang ada di zip itu sama dengan CRT yang kamu download tadi, abaikan file satu ini.
Yang penting ada 3 file lain mengandung unsur nama CA, perlu kamu gabung jadi satu agar jadi Bundle.
Caranya buka file CA satu persatu, copy dan pastekan isinya ke file baru (text editor seperti notepad atau gedit).
Susun berurutan tanpa spasi, mulai dari ChainCA2, ChainCA1, dan RootCA.
Simpan hasilnya beri nama ca-bundle.crt
Rekap Persiapan SSL
Rekap hasil akhir dari aktivitas ini, kamu akan mendapatkan tiga file yang terdiri dari Private key, CRT dan Ca-Bundle. Ubah namanya agar lebih simple dan siapkan dalam satu folder yang sama.
Setelah semua persiapan sudah kamu lakukan, berikutnya kamu akan melakukan install SSL dengan webserver apache. Sesuaikan dengan webserver yang kamu gunakan ya sob!
Langkah 2, Install SSL di Nginx
Diasumsikan server vps kamu sudah terinstall nginx. Selanjutnya akses vps kamu secara remote melalui ssh. Gunakan panduan cara menggunakan ssh
- Buat folder tempat SSL
Berikutnya kamu perlu membuat sebuah folder, yang berfungsi untuk menaruh certificate SSL domain kamu. Kamu akan buat folder private dibawah direktori /etc/ssl/ gunakan perintah :
mkdir -p /etc/ssl/ chmod 700 /etc/ssl/
- Upload SSL ke server
Selanjutnya upload certificate SSL kamu ke server, kamu bisa menggunakan Filezilla untuk upload file. Dibagian setting host kamu bisa isi seperti ini :
https://www.jagoanhosting.com/tutorial/cpanel/upload-website-menggunakan-ftp
Keterangan:
Host , diisi alamat ip server vps
Username, diisi username untuk masuk ssh, biasanya root
Password, isikan dengan password user
Port, isikan dengan 22 (Kita akan masuk melalui sftp)
Kemudian klik tombol Quickconnect, jika muncul warning Hostkey, no problem kamu tinggal tekan Ok
Arahkan Remote site ke direktori /etc/ssl/
Kemudian bagian panel kiri adalah lokal komputer / laptop kamu, pilih semua kemudian drag file SSLnya ke Remote site
- Setup Server Block (Virtual Host)
Setelah selesai menggabungkan file sertifikat, selanjutnya konfigurasikan blok server NGINX (file virtual host) untuk server kamu.
Jika kamu tidak mengetahui lokasi file tersebut, jalankan perintah:
sudo find nginx.conf
Buka file untuk melakukan modifikasi yang diperlukan, untuk masuk ke dalam file jalankan perintah berikut :
nano nginx.conf
Kemudian edit file konfigurasi dengan mengganti beberapa baris, yaitu :
- Ganti port 443: listen 443;
- Pastikan blok server menyertakan baris: ssl on;
- Tentukan jalur sertifikat SSL: ssl_certificate /etc/ssl/ssl-bundle.crt;
- Tentukan direktori tempat Kunci Sertifikat SSL berada: /path/ke/private.key;
NOTE : ssl-bundle.crt berisikan file certificate, CA2, CA1, ROOT
File konfigurasi akan menjadi seperti berikut :
server { listen 443; ssl on; ssl_certificate /etc/ssl/ssl-bundle.crt; ssl_certificate_key /etc/ssl/private.key; root /path/ke/webroot; server_name nama_domainmu.com; } access_log /var/log/nginx/nginx.vhost.access.log; error_log /var/log/nginx/nginx.vhost.error.log; location / { root /var/www/; root /home/www/public_html/namadomainmu.com/public/; index index.html; } }
Simpan dan keluar dari file dengan CTRL + X > Y > Enter. Kemudian restart server Nnginx dengan menjalankan perintah berikut :
sudo systemctl restart nginx
- Verifikasi SSL
Untuk memastikan SSL berhasil terinstal di server Nginx kamu, buka domain di browser kamu dengan protokol https, contoh https://domainkamu.com.
Maka akan muncul gembok yang memverifikasi bahwa sertifikat SSL terinstal di server kamu.
Penutup
Pada dasarnya untuk memasang SSL di VPS kamu membutuhkan minimal dua certificate, yaitu CRT dan Privatekey, sedangkan CA-Bundle itu sifatnya optional saja.
Di panduan ini kamu sudah belajar cara memasang SSL di Apache dengan OS Ubuntu. Mantap sob!