Saya baru saja install ssl berbayar menggunakan Sectigo Possitive SSL beberapa waktu lalu. Alasan saya menggunakan ssl berbayar ini karena setiap kali saya migrasi server saya dari vps satu ke vps yang lain, selalu terkendala ketika mencoba regenerate SSL dari let’s encrypt. Dimana let’s encrypt perlu memverifikasi situsnya berjalan terlebih dahulu dengan protocol tcp 80.
Sedangkan website saya sudah dikonfigurasi menggunakan Strict-Transport-Security, jadi ketika dikunjungi dengan protocol 80 pun tetap akan teredirect ke protocol https atau 443. Hal ini yang menyebabkan proses instalasi let’s encrypt menjadi rumit dan memakan waktu lama hanya untuk membuat website saya bisa diakses lagi seperti biasa.
Hal yang membuat saya berkeinginan untuk install ssl berbayar dengan nginx ya hanya karena masalah diatas saja, selain itu tidak ada lagi. Bahkan saya masih menggunakan let’s encrypt untuk website saya yang lain sampai saat ini.
Disini saya install ssl berbayar dari Sectigo (dulunya Comodo), tipe ssl yang saya ambil adalah versi paling murahnya yaitu Possitive SSL DV untuk satu domain. Saya membeli SSL berbayar ini melalui Namecheap dengan harga $5.99 USD per tahun, harga ini saya dapatkan jika berlangganan selama 5 tahun lamanya. Kalau ditotal harganya ke rupiah sekitar Rp430.000 untuk 5 tahun. Menurut saya ini termasuk investasi yang worth it, karena selain tidak bikin ribet ketika saya migrasi website, saya hanya perlu regenerate sertifikat ssl ini 5x dalam 5 tahun.
Sebelumnya saya sempat ingin membelinya di Dewaweb, harganya setahun 90 ribuan, hanya beda 5 ribu saja dari namecheap. Namun disana tidak bisa pilih opsi mau berlangganan ssl lebih dari 1 tahun (sampai tulisan ini dibuat). Tapi cocok sih jika kamu mau coba menggunakan SSL berbayar untuk jangka setahun, jika berminat untuk memperpanjang SSL saya saranin untuk membeli dari Namecheap saja.
Karena intronya menurut saya sudah cukup kepanjangan, langsung saja kita masuk ke panduan cara install ssl berbayar dengan nginx di vps di bawah ini.
Cara Install SSL Berbayar Dengan NGINX
Disini saya menggunakan NGINX sebagai web server untuk website yang saya miliki di VPS ini. Konfigurasi di NGINX ini menurut saya paling mudah dibandingkan dengan Apache, jika kamu mau mencoba menggunakan NGINX juga, kamu bisa membaca pada panduan cara memasang LEMP Stack di Rocky Linux.
Setup & Aktivasi CSR pada Namecheap
Sebelumnya, pastikan kamu sudah membeli ssl berbayar dari namecheap dan pastikan kamu sudah masuk ke VPS kamu melalui remote login ssh, lalu jalankan perintah dibawah ini untuk membuat folder ssl
% mkdir -p /etc/ssl/certs/ariestwn.com
Sesuaikan dengan nama domain tersebut dengan domain yang kamu miliki, kemudian jalankan perintah dibawah ini untuk membuat CSR dan KEY yang nantinya digunakan ketika ingin mengaktifkan SSL pada namecheap.
% cd /etc/ssl/certs/ariestwn.com
% openssl req -new -newkey rsa:2048 -nodes -keyout ariestwn.com.key -out ariestwn.com.csr
Nah kemudian kamu isikan seperti pada gambar dibawah ini saja, untuk keyphrase kosongin. Pastikan untuk bagian common name itu kamu isikan dengan nama domain yang ingin kamu pasangkan supaya namecheap bisa mendeteksi validitas domainnnya.

Kemudian copy dan paste file CSR untuk mengaktifkan sertifikat SSL pada namecheap.

Kemudian pada halaman selanjutnya kamu akan diminta untuk memilih tipe verifikasi ssl dengan domain kamu.

Pilih yang Add CNAME record aja. Kemudian masuk ke Dashboard -> SSL Certificate -> Pilih Details dari ssl kamu

Kemudian pilih Get Record dan salin record yang diberikan di DNS Management milik kamu. Karena saya menggunakan DNS Management dari VPS Vultr, tampilannya kira-kira seperti ini

Konfigurasi & Install SSL berbayar dengan NGINX
Setelah itu berkisar antara 2 sampai 5 menit, Sertifikat SSL kamu sudah aktif dan siap digunakan. Langkah selanjutnya adalah masuk ke dashboard -> SSL certificate -> Details, untuk mendownload sertifikat yang sudah jadi.

Isi filenya akan terlihat seperti ini

Setelah di download, upload sertifikat tersebut pada server kamu di folder yang sudah kita siapkan sebelumnya di /etc/ssl/certs/ariestwn.com
, kemudian jalankan perintah dibawah ini untukk menggabungkan CSR yang kamu miliki dan CRT dari namecheap yang sudah di download
% cd /etc/ssl/certs/ariestwn.com
% cat ariestwn_com.crt > ariestwn.com.crt ; echo >> ariestwn.com.crt ; cat ariestwn_com.ca-bundle >> ariestwn.com.crt
kemudian pastekan baris berikut pada server block NGINX yang kamu miliki
ssl_certificate /etc/ssl/certs/ariestwn.com/ariestwn.com.crt;
ssl_certificate_key /etc/ssl/certs/ariestwn.com/ariestwn.com.key;
Jangan lupa ubah listen port default menjadi 443 ssl

Dan tambahkan baris dibawah ini jika kamu ingin redirect akses dari HTTP ke HTTPS
server {
if ($host = www.ariestwn.com) {
return 301 https://$host$request_uri;
}
if ($host = ariestwn.com) {
return 301 https://$host$request_uri;
}
listen 80;
server_name ariestwn.com www.ariestwn.com;
}
Silahkan sesuaikan domain saya diatas dengan domain yang kamu miliki. Jika sudah simpan, dan cek apakah konfigurasi nginxnya ada masalah atau tidak.
% nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Jika sudah, restart service NGINX dan PHP-FPM
% systemctl restart nginx php-fpm
Cek di browser kamu, maka sekarang kamu akan melihat sertifikat yang kamu miliki akan tampil seperti gambar ini

Nah pada gambar diatas validitas sertifikatnya hanya dalam jangka waktu setahun saja. Padahal saya membeli sertifikatnya selama 5 tahun, hal tersebut disebabkan karena limitasi ssl reissue dari namecheap. Jadi kita tetap harus reissue sertifikatnya setiap setahun sekali, dengan cara regenerate code CSR seperti panduan diatas yang sudah dibahas.
Sampai sini, panduan untuk cara install ssl berbayar dengan nginx menggunakan Sectigo Possitive SSL sudah selesai. Jika ada pertanyaan terkait panduan ini, silahkan kirim komentar kamu pada kolom komentar di bawah ini.
Leave a Reply