Panduan Instalasi SSL ITB (Nginx)
SSL ITB hanya meng-cover wildcard satu tingkat sub-domain (*.itb.ac.id)
- Pastikan sudah melakukan download SSL ITB terbaru yang berlaku
- Lakukan extract pada file arsip SSL ITB yang telah didownload, pada arsip tersebut sudah terdapat file sertifikat (.crt) & private key (.key) sebagai file utama yang akan digunakan
- Simpan file SSL pada direktori yang aman atau direktori yang khusus untuk penyimpanan SSL agar memudahkan apabila ada proses pembaharuan nantinya
#contoh penyimpanan file SSL sudo mkdir -p /etc/ssl/<tahun berlaku> sudo cp <nama file SSL>.crt /etc/ssl/<tahun berlaku> sudo cp <nama file private key>.key /etc/ssl/<tahun berlaku> sudo cp <nama file CA Bundle>.crt /etc/ssl/<tahun berlaku>
- Masuk ke dalam file konfigurasi nginx web server yang digunakan biasanya terletak pada path direktori
sudo nano /etc/nginx/sites-available/<nama file>.conf #pastikan sites-available sudah sync (ln -s) dengan sites-enable
- Tambahkan konfigurasi pemanggilan SSL yang telah disimpan sebelumnya
#konfigurasi SSL disimpan pada segment server {} server { ............. listen 443 ssl; server_name <nama domain>.com; ssl_certificate /etc/ssl/<tahun berlaku>/<nama file SSL>.crt; ssl_certificate_key /etc/ssl/<tahun berlaku>/<nama file private key>.key; ssl_trusted_certificate /etc/ssl/<tahun berlaku>/<nama file CA bundle>.crt; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; root /var/www/<path website>; index index.php index.html; location / { try_files $uri $uri/ =404; } }
- Untuk melakukan pointing HTTP ke HTTPS tambahkan juga konfigurasi redirectnya masih pada file config yang sama
server { listen 80; server_name <nama domain>.com; return 301 https://$host$request_uri; }
ssl_certificate Menunjuk ke lokasi sertifikat SSL disimpan ssl_certificate_key Menunjuk ke lokasi private key disimpan ssl_trusted_certificate Menunjuk ke lokasi CA Bundle disimpan -
Setelah konfigurasi selesai ditambahkan simpan perubahan dan tutup, lalu lakukan pengecekan konfigurasi nginx untuk memastikan tidak ada error yang diakibatkan konfigurasi yang ditambahkan, setelah memastikan konfigurasi aman lakukan restart pada service nginx
#nginx -t untuk melakukan pengetesan file config sudo nginx -t #restart atau reload file nginx sudo systemctl reload nginx sudo systemctl restart nginx
- Setelah nginx service selesai di restart SSL dan HTTPS seharusnya sudah berhasil aktif pada saat website diakses.