Hai semuanya, apa kabar? Kali ini saya mau nulis tentang SSL lagi. Salah satu web server terpopuler selain Apache adalah NGINX. Tentu kita perlu menginstal SSL pada web server agar koneksi dari klien/web browser dan web server terenkripsi dan lebih aman.
Case kali ini adalah kita akan belajar cara renewal atau memperbarui SSL pada NGINX.
Cek Lokasi Konfigurasi
File konfigurasi SSL biasanya terletak di /etc/nginx/conf.d atau /etc/nginx/sites-available. Dan file SSL biasanya disimpan di /etc/nginx/ssl.
Siapkan File dan Folder SSL Baru
Misalnya, file SSL akan kita simpan pada direktori khusus agar lebih rapi. Kita buat direktori baru, misalnya ssl_2026.
mkdir /etc/nginx/ssl-2026
Misalnya kita punya file-file berikut (disimpan di /etc/nginx/ssl-2026):
ssl.crt(sertifikat utama).private.key.ca_bundle.crt.
Kita bisa siapkan terlebih dahulu file gabungan antara ssl.crt dan ca_bundle.crt. File gabungan misalnya kita beri nama fullchain.crt.
cat ssl.crt ca_bundle.crt > fullchain.crt
Backup File SSL Lama
Sebelum kita lakukan konfigurasi atau mengedit file pada server, kita bisa buat backup-nya terlebih dahulu untuk berjaga-jaga. Misalnya ada kesalahan, file konfigurasi bisa kita kembalikan ke kondisi asal.
Contoh:
# Ganti 'mysite.conf' dengan nama file config di sistem kamu
cp /etc/nginx/conf.d/mysite.conf /etc/nginx/conf.d/mysite.conf.bak
Edit Konfigurasi NGINX
Kita ubah file konfigurasinya agar mengarah ke file SSL baru yang sudah disiapkan.
vi /etc/nginx/conf.d/mysite.conf
Cari bagian ssl_certificate dan ssl_certificate_key dan arahkan ke file SSL yang sudah kita siapkan.
ssl_certificate /etc/nginx/ssl_2026/fullchain.crt;
ssl_certificate_key /etc/nginx/ssl_2026/private.key;
Lakukan validasi terlebih dahulu. Gunakan perintah nginx -t untuk memastikan file konfigurasi tidak salah ketik atau error lain.
Apabila muncul syntax is ok & test is successful, kita bisa lanjut ke tahap selanjutnya. Apabila ada pesan error, baca pesannya dan perbaiki sintaks/tulisan yang salah, lalu coba kembali.
Terapkan Konfigurasi
Apabila pengetesan menggunakan nginx -t, kita jalankan perintah systemctl reload nginx untuk memperbarui konfigurasi NGINX.
Verifikasi Akhir
Kita cek di web browser apakah masa aktif SSL/keterangannya sudah berubah/diperbarui atau belum. Kita juga bisa melakukan verifikasi dengan menggunakan perintah berikut:
echo | openssl s_client -connect localhost:443 2>/dev/null | openssl x509 -noout -dates
Sekian tulisan saya kali ini. Sampai jumpa. Bye.