Penggunaan sertifikat SSL sudah menjadi standarisasi untuk mendapatkan nilai SEO yang bagus. Jika kamu belum tahu, SSL adalah Secure Sockets Layer, yaitu lapisan pertahanan di website yang menjamin bahwa transaksi data di website-mu tidak terinterupsi oleh pihak manapun.
Alhasil, Google akan memberikan peringkat lebih baik untuk website-mu. Yuk pelajari cara install SSL Let’s Encrypt dengan web server Nginx di server dengan CentOS 7 berikut.
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.
Cara Install SSL Let’s Encrypt pada Nginx di CentOS 7
Ada beberapa persiapan yang perlu kamu lakukan untuk meng-install SSL Let’s Encrypt pada web server Nginx di CentOS 7.
Instalasi SSL Let’s Encrypt ada dilakukan dengan beberapa langkah di bawah ini.
- Update Server
- Install Firewall
- Install Certbot
- Install Sertifikat SSL
- Setting Virtual Configuration Nginx
- Tes SSL
Simak penjelasannya berikut ini.
Update Server
Login sebagai root dan perbarui package yang ada pada server agar up-to-date.
$ yum update -y $ reboot
Install beberapa packages yang dibutuhkan.
$ yum install nano perl wget -y
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). Instalasinya dilakukan dengan perintah di bawah ini:
$ cd /usr/src $ wget https://download.configserver.com/csf.tgz $ tar -xzf csf.tgz $ cd csf/ $ sh install.sh
Di bagian konfigurasi CSF, ubah “make TESTING=’1’ menjadi 0”.
$ nano /etc/csf/csf.conf
Kemudian restart CSF agar dapat me-reload hasil konfigurasi yang sudah diperbarui.
$ 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:
$ yum install epel-release -y
Kemudian install Certbot Nginx.
$ yum install certbot-nginx
Install Sertifikat SSL
Di langkah ini, kamu perlu mengambil sertifikat untuk nama domain yang digunakan. Nama domain yang digunakan pada cara install SSL dengan Nginx di CentOS 7 ini adalah vps201.dewiweb.net.
$ certbot --nginx
Kemudian akan ada beberapa hal yang perlu dijawab seperti di bawah ini.
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): (masukkan alamat email kamu). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing, once your first certificate is successfully issued, 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 hal 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: vps201.dewiweb.net 2: www.vps201.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
Kalau kamu sudah memiliki pengaturan konfigurasi virtual dan pada server_name sudah didefinisikan nama domainnya, maka Certbot akan secara otomatis mendeteksi.
Namun, jika server kamu baru saja diinstal, maka kamu perlu memasukkan nama domainnya secara manual.
Salah satu kelebihan yang didapat jika nama domainmu sudah terdeteksi, Certbot akan langsung melakukan instalasi dan mengatur konfigurasinya secara otomatis, konfigurasi yang dilakukan secara otomatis oleh Certbot ditandai dengan “# managed by Certbot”.
Setelah pengambilan sertifikatnya berhasil, maka akan keluar output di bawah ini.
Requesting a certificate for vps201.dewiweb.net Resetting dropped connection: acme-v02.api.letsencrypt.org Performing the following challenges: http-01 challenge for vps201.dewiweb.net Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/conf.d/vps201.dewiweb.conf Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/vps201.dewiweb.conf
Path file sertifikat berada pada:
/etc/letsencrypt/live/vps201.dewiweb.net/fullchain.pem
Path file Private Key berada pada:
/etc/letsencrypt/live/vps201.dewiweb.net/privkey.pem
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 pada:
$ 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;
Kemudian simpan dan keluar. Setelah itu, tambahkan script berikut di bawah script “ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot“.
$ nano /etc/nginx/conf.d/vps201.dewiweb.conf ### code ### ssl_trusted_certificate /etc/letsencrypt/live/vps201.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. Jika sudah, verifikasi perubahan konfigurasi kamu 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
Lalu restart layanan Nginx dengan:
$ systemctl restart nginx
Tes SSL
Cara install SSL Let’s Encrypt pada Nginx di CentOS 7 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 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.
Simpulan
Setelah mengikuti cara install sertifikat SSL dengan web server Nginx di CentOS 7, 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 7 ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin kamu baca di blog Dewaweb, ya. Semoga artikel ini membantu, salam sukses online!