Pada tutorial berikut ini kita akan sama-sama belajar cara membuat sertifikat SSL self-signed di Nginx yang beroperasi di hosting VPS Linux.
Artikel terkait:
1. Membuat direktori SSL
Buat direktori baru bernama ssl
di dalam folder /etc/nginx/
untuk menyimpan file sertifikat.
mkdir /etc/nginx/ssl
2. Masuk ke direktori ssl
Masuk ke direktori ssl yang baru kita buat, agar memudahkan kita saat membuat konfigurasi nantinya.
cd /etc/nginx/ssl
3. Buat private key server
Saat membuat private key akan diminta memasukkan pass phrase, hati hati sebaiknya harus betul-betul diingat atau dicatat, karena jika lupa maka tidak bisa untuk mengakses sertifikat.
openssl genrsa -des3 -out idnetter.com.key 1024
4. Membuat certificate signing request atau file .CSR
openssl req -new -key idnetter.com.key -out idnetter.com.csr
Saat generate CSR file anda akan diminta menjawab isian yang harus valid terkait kode negara, provinsi dan lain-lain kira-kira seperti dibawah ini, (saya hanya mengisi sampai bagian email saja) jawab dan sesuaikan.
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:ID
State or Province Name (full name) []:DKI Jakarta
Locality Name (eg, city) [Default City]:Jakarta selatan
Organization Name (eg, company) [Default Company Ltd]:IDNetter co.
Organizational Unit Name (eg, section) []:KerjaKerjaKerja
Common Name (eg, your name or your server's hostname) []:idnetter.com
Email Address []:man@idnetter.com
5. Menghapus pass phrase
Langkah selanjutnya menghapus pass phrase, tujuanya jika Nginx crash dan system reboot maka kita tidak perlu memasukkan kembali pass phrase untuk membuat web server online kembali.
cp idnetter.com.key idnetter.com.key.com
openssl rsa -in idnetter.key.com -out idnetter.com.key
6. Menandatangani sertifikat
Lihat bagian -days 90 ini berarti berlaku sampai 90 hari, ganti angka 90 sesuaikan dengan masa berlaku sertifikat.
openssl x509 -req -days 90 -in idnetter.com.csr -signkey idnetter.com.key -out idnetter.com.crt
7. Edit konfigurasi nginx
Buat referensi sertifikat yang telah dibuat tadi
listen 443 ssl; ssl_certificate /etc/nginx/ssl/idnetter.com.crt; ssl_certificate_key /etc/nginx/ssl/idnetter.com.key;
8. Restart Nginx
service nginx restart
Selesai, selamat mencoba 😀
Halo mas,
Saya ada kendala tentang web saya yg sebelumnya saya sempat daftarkan ssl wildcard, saya pakai yg full dri cloudflare.
Jadi, sebenarnya berhasil dan gak ada masalah, untuk setting ssl seperti d atas.
Namun ketika saya migrasi server, ada kendala seperti dns tidak terpointing k server baru,
Spek lama:
-nameserver tetap sama (cloudflare)
-ip server berbeda.
– yang lama ip xxx-xx-xxx-01
Spek baru:
-nameserver tetap sama
-ip berubah xxx-xx-xxx-02
Pada cloudflare, saya ganti record A pointing ke ip server baru (xxxxxx02).
Kemudian saya lanjutkan upload dan ekstrak wordpress di file management, buat database,user dan setting ssl seperti di diatas.
Dan setelah beberapa jam, saya buka domain saya, namun error, pesan dri browser katanya clear cookies.
Saya yakin mungkin krna propagaai dns.
Saya tunggu sehari masih gitu, saya tunggu sampai skrg masih error gitu jg.
PERTANYAANNYA 😀
Apakah saya harus hapus data ssl yg ada pada server lama?
Atau ada cara saya yg salah selama migrasi?
Gitu mas, jika berkenan mohon balas ya 😀
tidak perlu, sudah benar. coba cek dengan melakukan ping IP server baru. sepertinya hanya masalah propagasi domain saja.