Cara Install SSL Let’s Encrypt pada Nginx di CentOS 8

Instalasi dan penggunaan sertifikat SSL sangat penting untuk mengamankan website maupun server yang kamu gunakan. Sebab, SSL dapat menjamin keamanan transfer data sehingga tak ada yang dapat menginterupsi data yang diminta dan dikirimkan. Jika kamu menggunakan server dengan OS CentOS 8, pelajari cara install sertifikat SSL Let’s Encrypt dengan web server Nginx dari artikel berikut, yuk!

Let’s Encrypt

Let’s Encrypt adalah organisasi non-profit dari Linux Foundation yang menyediakan SSL gratis dengan enkripsi standar untuk seluruh pemilik website. SSL ini memiliki validasi waktu 90 hari dan menggunakan protokol ACME (Automatic Certificate Management Environment) yang dapat melakukan pembaruan otomatis setiap 90 hari menggunakan cron job.

Baca Juga: Kenali Let’s Encrypt SSL untuk Menaikkan Peringkat Website

Cara Install SSL Let’s Encrypt pada Nginx di CentOS 8

Ada beberapa persiapan yang perlu kamu lakukan untuk meng-install SSL Let’s Encrypt pada web server Nginx di CentOS 8.

  • VPS dengan OS CentOS 8.
  • VPS yang sudah di-setup dengan LEMP.
  • Domain yang sudah diarahkan ke IP VPS.
  • Akses root.

Instalasi SSL Let’s Encrypt dengan web server Nginx di CentOS 8 dilakukan dengan beberapa langkah utama di bawah ini.

  • Update Server
  • Install Firewall
  • Install Certbot
  • Install Sertifikat SSL
  • Setting Virtual Configuration Nginx
  • Tes SSL

Simak penjelasan lengkapnya di bawah ini.

Update Server

Login sebagai root dan perbarui package yang ada pada server agar up-to-date.

$ dnf update -y
$ reboot

 

Install beberapa packages yang dibutuhkan.

$ dnf install nano perl wget -y

 

Baca Juga: Panduan CSF Firewall pada Cloud Server (VPS) CentOS

Install Firewall

Sebelum memulai instalasi SSL, kamu perlu meng-install firewall agar lebih aman. Di tutorial SSL kali ini yang digunakan adalah firewall CSF (ConfigServer Security & Firewall). Namun, instalasi CSF Firewall di CentOS 8 sedikit berbeda dengan OS lain, ikuti perintah di bawah ini:

$ cd /usr/src
$ wget https://download.configserver.com/csf.tgz 
$ tar -xzf csf.tgz

 

Install dan buat direktori iptables dengan:

$ dnf install iptables-services -y
$ touch /etc/sysconfig/iptables
$ touch /etc/sysconfig/iptables6

 

Install CSF dengan perintah:

$ cd csf/
$ sh install.sh
$ perl /usr/local/csf/bin/csftest.pl


Kemudian edit csf.conf dan ubah value “make TESTING” menjadi 0.

$ nano /etc/csf/csf.conf
make TESTING=’0’

Simpan lalu keluar. Kemudian reload CSF dengan perintah di bawah ini.

$ csf -r

 

Install Certbot

Kemudian kamu perlu menginstal Let’s Encrypt Client, yaitu Certbot. Namun sebelum itu, kamu memerlukan repositori bernama EPEL Repository. Ikuti perintah berikut:

$ dnf install epel-release

 

Install packages dengan perintah:

$ dnf install certbot python3-certbot-nginx

 

Install Sertifikat SSL

Cara selanjutnya adalah install SSL pada Nginx di server CentOS 8. Kamu perlu mengambil sertifikat untuk domain yang digunakan, contoh domain yang digunakan di artikel ini adalah vps188.dewiweb.net. Kamu bisa mengubahnya sesuai domain yang kamu gunakan.

$ certbot --nginx

Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): (masukkan email address yang digunakan)


Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N

 

Jika tak ingin mendapatkan email rutin berisi berita, campaign, dan email lain yang berkaitan dengan Certbot, maka pilih N (No). Tapi jika kamu ingin berlangganan email, pilih Y (Yes).

 

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: vps188.dewiweb.net
2: www.vps188.dewiweb.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1

 

Jika domain kamu sudah terdeteksi oleh Certbot, maka tampilannya akan seperti di atas. Namun, jika Certbot belum mengenali domainmu, maka kamu perlu menambahkannya secara manual. Setelah berhasil, akan muncul output seperti di bawah ini.

 

Requesting a certificate for vps188.dewiweb.net
Performing the following challenges:
http-01 challenge for vps188.dewiweb.net
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/conf.d/vps188.dewiweb.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/vps188.dewiweb.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://vps188.dewiweb.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

Path file sertifikat berada pada:

/etc/letsencrypt/live/vps188.dewiweb.net/fullchain.pem

 

Path file Private Key berada pada:

/etc/letsencrypt/live/vps188.dewiweb.net/privkey.pem

 

Baca Juga: Cara Instal Node.js dan Deploy App di CentOS 8

Setting Virtual Configuration Nginx

Meski Certbot sudah melakukan instalasi secara otomatis, tapi pengaturannya belum up-to-date. Oleh karena itu,  kamu perlu melakukan pembaruan (update) untuk mendapatkan SSL dengan rating grade A+.

Ubah pengaturan SSL:

$ nano /etc/letsencrypt/options-ssl-nginx.conf

   #SSL
        # Use certificate and key provided by Let's Encrypt:
        ssl_session_timeout 15m;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;

 

Simpan lalu keluar. Kemudian tambahkan script di bawah ini di konfigurasi virtual pada domain Nginx. Tambahkan di bawah “ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot “.

$ nano /etc/nginx/conf.d/vps188.dewiweb.conf

### code ###
ssl_trusted_certificate /etc/letsencrypt/live/vps188.dewiweb.net/fullchain.pem;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
### code ###

 

Lalu simpan dan keluar. Tambahan informasi, ### code ### adalah script yang sudah ada pada konfigurasi virtual kamu sebelumnya. Kemudian verifikasi hasil konfigurasinya dengan perintah di bawah ini.

$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

 

Setelah itu, restart Nginx.

$ systemctl restart nginx

 

Tes SSL

Cara install SSL Let’s Encrypt pada Nginx di CentOS 8 hampir selesai. Langkah terakhir yang perlu dilakukan adalah melakukan tes, apakah sertifikat SSL sudah terpasang dengan baik atau belum. Caranya, klik ikon gembok di sebelah kiri URL bar browser kamu, jika muncul tampilan seperti berikut ini, artinya sertifikat sudah berhasil terpasang di website-mu.

cara install ssl nginx centos 8 berhasil sertifikat dari url bar browser

Cara lainnya, kamu bisa mengetes dan mencari tahu grade sertifikat SSL di SSL Labs. Setelah memasukkan nama domain, tunggu sebentar hingga muncul hasil grade sertifikatmu seperti gambar di bawah ini.

ssl labs report sertifikat ssl berhasil install di nginx server centos 8

Baca Juga: Cara Install Mikrotik CHR pada Server dengan CentOS 8

Simpulan

Setelah mengikuti cara install sertifikat SSL dengan web server Nginx di CentOS 8, seharusnya saat ini website-mu sudah memiliki koneksi yang aman dengan grade A+. Selain meningkatkan kepercayaan pengunjung, keberadaan sertifikat SSL juga bisa mempermudah website-mu untuk menaikkan peringkat di Google, yang nantinya akan berdampak pula pada peningkatan traffic website.

Tapi, ada beberapa faktor lain yang bisa memengaruhi peringkat website-mu di mesin pencari, misalnya optimasi website dan hosting yang digunakan. Pastikan kamu menggunakan server VPS atau cloud hosting terbaik, kemudian pelajari apa saja tools yang bisa kamu gunakan untuk mengoptimasi website-mu dari artikel “Tools SEO untuk Optimasi Website“.

Demikian tutorial cara install sertifikat SSL dengan web server Nginx di CentOS 8 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, salam sukses online!