December 16, 2018

Berkenalan Dengan Let's Encrypt SSL Gratis Untuk Nginx

Activities, Android Developer, Ansible, Apache2, Atlassian, Ayo Belajar Linux, Bestpath Network, BLC Telkom Klaten, BSD, Caddy Server, Case Study, Cisco, Cisco Indonesia, Cloud Computing, Cockpit, Custom Weapons, Docker, E-Learning, Engenius, Error, FreeBSD, FreeBSD Indonesia, Komunitas Pengguna Linux Indonesia, KPLI Bulukumba, KPLI Klaten, Lets Encrypt, Linux, MacOS, Microsoft Azure, Microsoft SQL Server, MikroTik, MikroTik Indonesia, MySQL, Nginx, Open edX, OpenSID, Others, PHP, phpMyAdmin, PostgreSQL, Proxmox, Python, Redash, Sendy, SSH, Stories, Subnetting, TP-Link, Ubiquiti, Unix, Virtualization, Windows, X-Mosque, Faizar Septiawan, Icar, siBunglonGanteng, Orang Ganteng, siBunglonLabs, Programmer, SysAdmin, Site Reliability Engineer, Developer, Palugada, Makassar, Ganteng, Gila, Cyclist, Panglima, Setan, Panglima Setan, sibunglon, Ganteng

Let’s Encrypt?

Apa sih let’s encrypt itu?

Let’s encrypt adalah certificate Authority (CA) atau otoritas sertifikat yang menyediakan cara mudah untuk mendapatkan dan menginstall SSL pada web server, sehingga memungkinkan web server anda terenskripsi (HTTPS). Merupakan layanan yang disediakan oleh Internet Security Research Group (ISRG). ISRG memberikan dan mengaktifkan HTTPS secara gratis dengan alasan ingin menciptakan web yang lebih aman dan menjaga privasi. Sebenarnya untuk mendapatkan dan memasang SSL itu memiliki biaya sendiri namun jika untuk kebutuhan pengembangan, ngoprek / ngelab, let’s encrypt ini menjadi solusi.

Sebelum memulai pastikan domain telah terdaftar dan mengarah ke server yang dituju.

Bermain Dengan Let’s Encrypt

Untuk pengguna RHEL 7 atau CentOS 7

1) Untuk mendapatakan dan memasang SSL gratis dari let’s encrypt dibutuhkan aplikasi certbot yang akan mengaktifkan HTTPS secara otomatis di web server. Untuk memasang certbot cukup gunakan command sudo yum install certbot-nginx.

2) Pastikan domain anda yang terdaftar telah di tentukan pada konfigursi nginx, pada lab sebelumnya telah dilakukan kustom konfigurasi nah disitu ada server_name, pastikan server_name mengararah ke domain. Berikut konfugurasi yang dimaksud:

server {
   server_name sibunglon.com;

   access_log  /var/log/nginx/access.log;
   error_log   /var/log/nginx/error.log  warn;

   location / {
       root   /sibunglonlabs/web;
        index  index.html index.htm;
    add_header Cache-Control no-cache;
   }

   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
       root   /sibunglonlabs/web;
   }

}

3) Jika anda melakukan perubahan pada file konfigurasi nginx, diwajibkan reload nginx. Namu jika anda cuman mengecek dan semuanya baik-baik saja langkah ini bisa di lewati.

4) Untuk mendapatkan dan memasang SSL, cukup gunakan command:

sudo certbot --nginx -d sibunglon.com -d www.sibunglon.com

Pada proses pemasangan SSL akan dimintai email aktif untuk keperluan konfirmasi saja, setelah itu anda akan diminta prosedur pengarahan.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Jika memasukkan nomor 1, pengguna dibiarkan mengakses melalui protokol http dan https. Jika memasukkan nomor 2, pengguna akan diarahkan secara otomatis ke protokol https jika mengakses melalui protokol http.

5) Sekarang SSL telah terpasang di web server anda.

Untuk pengguna Ubuntu 16 atau Ubuntu 18

1) Untuk mendapatakan dan memasang SSL gratis dari let’s encrypt dibutuhkan aplikasi certbot yang akan mengaktifkan HTTPS secara otomatis di web server. Untuk memasang certbot, tambahkan repositorinya terlebih dahulu .

sudo add-apt-repository ppa:certbot/certbot
sudo apt-get install python-certbot-nginx

2) Pastikan domain anda yang terdaftar telah di tentukan pada konfigursi nginx, pada lab sebelumnya telah dilakukan kustom konfigurasi nah disitu ada server_name, pastikan server_name mengararah ke domain. Berikut konfugurasi yang dimaksud:

server {
   server_name sibunglon.com;

   access_log  /var/log/nginx/access.log;
   error_log   /var/log/nginx/error.log  warn;

   location / {
       root   /sibunglonlabs/web;
        index  index.html index.htm;
    add_header Cache-Control no-cache;
   }

   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
       root   /sibunglonlabs/web;
   }

}

3) Jika anda melakukan perubahan pada file konfigurasi nginx, diwajibkan reload nginx. Namu jika anda cuman mengecek dan semuanya baik-baik saja langkah ini bisa di lewati.

4) Untuk mendapatkan dan memasang SSL, cukup gunakan command:

sudo certbot --nginx -d sibunglon.com -d www.sibunglon.com

Pada proses pemasangan SSL akan dimintai email aktif untuk keperluan konfirmasi saja, setelah itu anda akan diminta prosedur pengarahan.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Jika memasukkan nomor 1, pengguna dibiarkan mengakses melalui protokol http dan https. Jika memasukkan nomor 2, pengguna akan diarahkan secara otomatis ke protokol https jika mengakses melalui protokol http.

5) Sekarang SSL telah terpasang di web server anda.