Taufik Mulyana
Taufik Mulyana
Linux System Administrator, Interested in Linux, Cloud, Containers
January 26, 2019 3 min read

Install dan Konfigurasi https/SSL di Localhost dengan mkcert

installl https di localhost

Saat ini banyak situs telah beralih ke https dan beberapa waktu lalu pada chrome versi 68 menandai situs yang tidak menggunakan https sebagai tidak aman, namun pernahkah terpikir untuk menggunakan https/ssl pada localhost atau pada local deployment ? apakah terlalu berlebihan ? sepertinya tidak. banyak developer yang mencoba menggunakan https pada local deploymentnya dengan menggunakan SSL self-signed untuk menghindari masalah mixed content di production nanti, namun karena menggunakan SSL self-signed tentu saja akan ada peringatan di peramban, kenapa tidak menggunakan Lets’ Encrypt ? Lets’ Encrypt membutuhkan domain yang valid dan domain itu harus terpointing ke IP Public, jadi tidak mungkin untuk menggunakannya di localhost.

Filippo Valsorda salah satu cryptogopher tim Go dari Google membuat mkcert, mkcert merupakan sebuah program yang dapat membuat sertifikat untuk kebutuhan local deployment yang dipercayai oleh peramban jadi tidak akan ada peringatan di peramban, dan program ini sangat mudah untuk digunakan, kita tidak perlu melakukan konfigurasi, kita hanya perlu melakukan konfigurasi di sisi web server saja.

untuk menggunakan mkcert silahkan ikuti tutorial dibawah ini

Pasang Certutil

untuk pengguna debian, ubuntu dan turunannya gunakan perintah dibawah

$ sudo apt-get install libnss3-tools

untuk pengguna centos

$ sudo yum install nss-tools

Unduh Mkcert

mkcert menyediakan binary yang bisa kita unduh dan gunakan secara langsung

$ wget https://github.com/FiloSottile/mkcert/releases/download/v1.2.0/mkcert-v1.2.0-linux-amd64

pindahkan ke /usr/bin agar agar bisa dipanggil langsung dari shell

$ mv mkcert-v1.2.0-linux-amd64 /usr/bin/mkcert

Mendapatkan Sertifikat

untuk mendapatkan sertifikat jalankan perintah dibawah, nama domain bisa anda sesuaikan ( nama domain bisa bebas ), silahkan ganti nothinux.local

➜ ~ mkcert nothinux.local localhost
Using the local CA at "/home/nothinux/.local/share/mkcert" ✨

Created a new certificate valid for the following names 📜
- "nothinux.local"
- "localhost"

The certificate is at "./nothinux.local+1.pem" and the key at "./nothinux.local+1-key.pem" ✅

perintah diatas akan menghasilkan sertifikat dan private key

$ ls
nothinux.local+1-key.pem
nothinux.local+1.pem

selanjutnya agar sertifikat di percayai oleh peramban jalankan perintah berikut

➜ ~ mkcert -install
Using the local CA at "/home/nothinux/.local/share/mkcert" ✨
The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! 🦊

perintah diatas bukan untuk mendapatkan sertifikat self-signed, tapi sertifikat yang ditanda tangani langsung oleh sertifikat otoritas atau CA pribadi anda, dan otomatis melakukan konfigurasi agar dipercayai oleh peramban

Konfigurasi Nginx

anda hanya perlu menyertakan sertifikat dan private key yang telah dibuat tadi pada konfigurasi vhost nginx, arahkan ke lokasi sertifikat pada ssl_certificate dan arahkan ke private key pada ssl_certificate_key

ssl on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_certificate /etc/nginx/ssl/nothinux.local+1.pem;
ssl_certificate_key /etc/nginx/ssl/nothinux.local+1-key.pem;

ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

dan berikut hasilnya

install-https-ssl-di-localhost-dengan-mkcert

dan bisa anda lihat informasinya terverifikasi oleh mkcert

install ssl di localhost

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *