Cara Update/Renewal SSL di Web Server (NGINX)

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.

By Zaidan

Leave a Reply

Your email address will not be published. Required fields are marked *