Cara Install SSL Let's Encrypt Nginx di Ubuntu 18.04


Fika Ridaul Maulayya
I'm Fika Ridaul Maulayya, a Full-Stack Web Developer, Content Creator and CO-Founder Santri Koding. I share everything i know with Article, Screencasts and E-Books at SantriKoding.com

Cara Install SSL Let's Encrypt Nginx di Ubuntu 18.04 - Halo teman-teman semuanya, pada kesempatan kali ini kita semua akan belajar tentang bagaimana cara menginstall SSL Let’s Encrypt di Nginx dan Operating System Ubuntu 18.04.

Let’s Encrypt merupakan penyedia Otoritas Sertifikat (CA) dimana memungkinkan kita menggunakan HTTPS terenkripsi pada website kita.

Kita nanti akan menggunakan software klien yang akan mempermudah mempercepat kita bisa menginstall HTTPS Let’s Encrypt pada website kita.

Dalam tutorial ini, Anda akan menggunakan Certbot untuk mendapatkan sertifikat SSL gratis untuk Nginx di Ubuntu 16.04 dan mengatur sertifikat kita untuk memperbarui secara otomatis.

Persyaratan

  • Server Ubuntu
  • Domain yang sudah terdaftar.
  • Sudah menghubungkan DNS Domain ke server / IP Public Server.
  • Sudah menginstall web server Nginx di server Ubuntu.

Langkah 1 - Menginstall Cerbot

Langkah pertama adalah kita harus menginstall software yang bernama cerbot untuk mempermudah kita nanti dalam membuat sebuah SSL Let’s Encrypt.

Silahkan jalankan perintah dibawah ini untuk menambah sebuah repository baru

sudo add-apt-repository ppa:certbot/certbot

Silahkan tekan ENTER. Kemudian akan otomatis memperbarui daftar paket untuk mengambil informasi paket repositori baru.

sudo apt-get update

Dan sekarang kita bisa langsung menginstall paket Nginx Cerbot dengan perintah

sudo apt-get install python-certbot-nginx

Certbot sekarang sudah siap digunakan, tetapi agar dapat mengkonfigurasi SSL untuk Nginx, kita perlu memverifikasi beberapa konfigurasi di Nginx.

Langkah 2 - Menyiapkan Nginx

Cerbot bisa secara otomatis mengkonfigurasi SSL untuk NGINX di server kita, akan tetapi Cerbot juga harus bisa menemukan server blok yang sudah kita konfigurasi sebelumnya. prosesnya yaitu mencari server_name yang cocok dengan nama domain kita.

Kita bisa langsung mencobanya, misalkan kita baru saja menginstall Nginx baru. Kita bisa coba dengan mengubah default server block di Nginx.

Buka Server Block Default di Nginx dengan nano :

sudo nano /etc/nginx/sites-available/default

Silahkan cari server_name dan silahkan ganti garis bawah _ dengan nama domain kita :

. . .
server_name example.com www.example.com;
. . .

SIlahkankan simpan dengan menekan tombol CTRL + X dan pilih Y.

Sekarang kita periksa terlebih dahulu apakah konfigurasi server block kita benar atau ada yang masih salah, silahkan jalankan perintah :

sudo nginx -t

Setelah sintaks konfigurasi kita benar, sekarang kita bisa restart Nginx untuk memuat konfigurasi baru.

sudo systemctl reload nginx

Certbot sekarang dapat menemukan server blok yang benar dan memperbaruinya. Selanjutnya, kita akan memperbarui firewall untuk mengizinkan trafik HTTPS.

Langkah 3 - Mengizinkan HTTPS Melalui Firewall

Jika kita sudah mengaktifkan ufw firewall, kita harus menyesuaikan pengaturan untuk memungkinkan trafik HTTPS. Untungnya, Nginx mendaftarkan beberapa profil ufw saat instalasi.

Untuk melihat pengaturan saat ini, kita bisa jalankan perintah :

sudo ufw status

Kurang lebih kalian akan mendapatkan tampilan seperti berikut ini :

Output
Status: active


To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Untuk menambah trafik HTTPS, kita dapat mengizinkan profil Lengkap Nginx dan kemudian menghapus beberapa profil HTTP Nginx yang berlebihan:

sudo ufw allow 'Nginx Full'

sudo ufw delete allow 'Nginx HTTP'

Sekarang kita coba cek lagi pengaturannya dengan menjalankan perintah :

sudo ufw status

Kurang lebih kalian akan mendapatkan tampilan seperti berikut ini :

Output
Status: active


To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

Kita sekarang sudah siap menjalankan Certbot dan mengambil sertifikat untuk domain kita.

Langkah 4 - Memperoleh Sertifikat SSL

Untuk mendapatkan SSL Sertifikat gratis kita bisa menjalankan perintah dibawah ini :

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

-d merupakan nama domain kita, kita juga bisa menginstall SSL dengan banyak domain sekaligus misalnya saja seperti dibawah ini :

sudo certbot --nginx -d example.com -d www.example.com -d santrikoding -d www.santrikoding

Jika itu berhasil, certbot akan bertanya bagaimana kita ingin mengonfigurasi pengaturan HTTPS.

Output
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):

Silahkan pilih 2 untuk diredirect ke HTTPS dan tekan ENTER. Konfigurasi akan diperbarui, dan Nginx akan memuat ulang untuk mengambil pengaturan baru.

Certbot akan menyelesaikan dengan pesan yang memberitahukan Anda bahwa prosesnya berhasil dan tempat sertifikat Anda disimpan:

Output
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will
   expire on 2017-10-23. To obtain a new or tweaked version of this
   certificate in the future, simply run certbot again with the
   "certonly" option. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:


   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Langkah 5 - Memverifikasi Pembaruan Otomatis Certbot

SSL Sertifikat yang sudah di pasang di domain kita akan berlaku selama 90 hari saja. Maka setiap 90 hari kita harus melakukan pembaruan SSL Sertifikat.

Akan tetapi jangan kawatir, disini kita akan membuat SSL Sertifikat kita bisa otomatis memperbarui tanpa harus kita menjalankan ulang. silahkan jalankan perintah dibawah ini :

sudo certbot renew --dry-run

Jika perintah diatas dijalankan dan kita tidak menemukan pesan apapun, berarti itu sudah berhasil. Dan biasanya jika pembaruan SSL Sertifikat yang gagal akan otomatis mengirimkan pesan ke email kita dan mempertingatkan ketika sertifikat kita akan segera kadaluwarsa.

Kesimpulan

Dalam tutorial ini, kita belajar menginstal Let's Encrypt certbot, mengunduh sertifikat SSL untuk domain kita, mengkonfigurasi Nginx untuk menggunakan sertifikat ini, dan mengatur pembaruan sertifikat otomatis.

Jika kalian memiliki pertanyaan lebih lanjut tentang penggunaan Certbot, silahkan kalian bisa menyakannya di kolom komentar.

Terima Kasih

sumber : https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-16-04


Fika Ridaul Maulayya
I'm Fika Ridaul Maulayya, a Full-Stack Web Developer, Content Creator and CO-Founder Santri Koding. I share everything i know with Article, Screencasts and E-Books at SantriKoding.com
KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami

KOMENTAR