Pertama - tama lakukan register disini, Jika sudah klik tombol New Certificate. Lanjut ke step selanjutnya.
Step 1 : Masukkan domain
- Set
Validity
90 Day (free plan) - Klik
on button
auto generate CSR - Pilih free plan
Step 2 : Verifikasi domain
Ada 3 metode verifikasi, bisa menggunakan email, DNS (CNAME), atau HTTP file upload. Tapi pada tulisan ini verifikasi menggunakan DNS (CNAME).
Hanya perlu membuat record dns baru pada menu konfigurasi DNS di layanan domain. Set TTL
ke 1 jam (1hr). Setelah itu lanjut ke next step dan tunggu proses verifikasi selesai.
Step 3 : Install certificate
Download terlebih dahulu certificatenya. Pilih Nginx
ekstrak file zip dari hasil download certificate, didalamnya terdapat 3 file ca_bundle.crt, certificate.crt, private.key
. Yang akan digunakan untuk SSL yaitu certificate.crt dan private.key, namun sebelumnya lakukan penggabungan file .crt dengan bundle ca.
merge .crt files↴
cat certificate.crt ca_bundle.crt >> certificate.crt
2 file tersebut (certificate.crt & private.key) harus disimpan didalam server. Maka keduanya harus di salin terlebih dahulu, atau melakukan unzip dan merge .crt didalam server.
Anda bisa gunakan kode script ini untuk melakukan otomatis unzip dan copy ke server dari local.
upload.sh↴
SSH_HOST=<your-host>
SSH_DIRECTORY=<your-directory> # directory for certificate ssl. e.g >> /etc/ssl/testing
SSH_KEY=<your-ssh-key-path> # e.g >> ~/.ssh/key.pem
FILE_ZIP=<your-file-zip> # download on zero ssl
FOLDER=<destination-ekstrak>
cd Downlo
# Unzip file testing.zip
unzip $FILE_ZIP -d $FOLDER
# Masuk ke folder hasil ekstrak
cd $FOLDER
# Menggabungkan file certificate.crt dan ca_bundle.crt
cat certificate.crt ca_bundle.crt >> certificate.crt
# Membuat folder testing di server
ssh -i $SSH_KEY $SSH_USER@$SSH_HOST "sudo mkdir $SSH_DIRECTORY && sudo chmod o+w $SSH_DIRECTORY"
# Mengupload file certificate.crt ke server
sudo scp -i $SSH_KEY certificate.crt private.key $SSH_USER@$SSH_HOST:$SSH_DIRECTORY
# Mengubah kembali akses folder
ssh -i $SSH_KEY $SSH_USER@$SSH_HOST "sudo chmod o-w $SSH_DIRECTORY"
# Memberikan notifikasi bahwa proses telah selesai
echo "Proses upload file selesai."
Step 4 : Konfigurasi Nginx
Setelah melakukan unzip serta mengupload certificate ssl di folder server. Lalu melakukan settingan Nginx sederhana, yang nantinya lokasi path file certificate akan di setting di konfigurasi nginx.
Pergi ke
/etc/nginx/site-available/
dan buat konfigurasi baru dengan nama apapun.Masukkan kode dibawah ini untuk konfigurasi (ganti bagian yang diperlukan)
server { listen 80; listen 443 ssl; server_name domain.com; #ganti dengan nama domain anda ssl_certificate /etc/ssl/testing/certificate.crt; # ganti dengan path certificate yang ada diserver ssl_certificate_key /etc/ssl/testing/private.key; # folder root root /var/www/html; index index.html index.htm; }
Buat tautan simbolik
sudo ln -s /etc/nginx/sites-available/namafile /etc/nginx/sites-enabled/namafile
ganti
namafile
dengan nama file konfigurasi andaCek Nginx Konfigurasi
Lakukan pengecekkan apakah konfigurasi sudah benar dengan command ini :
sudo nginx -t
jika outputnya seperti ini berarti sudah ok,
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Reload Nginx
sudo systemctl reload nginx
Terakhir cek domain anda di browser, web akan menampilkan default html Nginx sederhana dan ada lambang kunci di urlnya artinya sudah berhasil menerapkan SSL 🚀
Tidak ada komentar