Mkcert adalah alat gratis, sederhana, dan sangat berguna yang memungkinkan Anda membuat sertifikat tepercaya secara lokal tanpa membelinya dari CA asli. Pengembang biasanya bekerja pada sistem lokal dan selalu tidak mungkin untuk menggunakan sertifikat tepercaya dari CA di localhost. Mkcert memungkinkan Anda untuk mengelola sertifikat Anda sendiri tanpa kerumitan.
Dalam posting ini, kami akan menunjukkan cara membuat sertifikat SSL tepercaya untuk pengembangan lokal menggunakan Mkcert di Ubuntu 20.04.
Prasyarat
- Sistem yang menjalankan Desktop Ubuntu 20.04.
- Kata sandi root dikonfigurasi di server.
Memulai
Pertama, perbarui paket sistem ke versi yang diperbarui dengan menjalankan perintah berikut:
apt-get update -y
Setelah semua paket diperbarui, Anda dapat melanjutkan ke langkah berikutnya.
Instal Mkcert
Sebelum menginstal utilitas Mkcert, Anda perlu menginstal paket yang diperlukan ke server Anda. Anda dapat menginstalnya dengan perintah berikut:
apt-get install wget libnss3-tools
Setelah semua paket terinstal, unduh versi terbaru Mkcert dari Github.
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.3/mkcert-v1.4.3-linux-amd64
Setelah mengunduh Mkcert, pindahkan biner yang diunduh ke jalur sistem:
mv mkcert-v1.4.3-linux-amd64 /usr/bin/mkcert
Selanjutnya, atur izin eksekusi ke mkcert:
chmod +x /usr/bin/mkcert
Selanjutnya, verifikasi versi Mkcert dengan perintah berikut:
mkcert --version
Anda akan melihat output berikut:
v1.4.3
Buat CA Lokal
Sekarang, jalankan perintah berikut untuk menghasilkan sertifikat CA lokal:
mkcert -install
Anda akan melihat output berikut:
Created a new local CA ???? The local CA is now installed in the system trust store! ?? The local CA is now installed in the Firefox and/or Chrome/Chromium trust store (requires browser restart)! ????
Anda dapat memeriksa jalur sertifikat CA menggunakan perintah berikut:
mkcert -CAROOT
Anda akan melihat output berikut:
/root/.local/share/mkcert
Buat Sertifikat untuk Situs Web Lokal
Selanjutnya, Anda dapat membuat sertifikat dan file kunci untuk situs web yang dihosting secara lokal menggunakan perintah berikut:
mkcert app.example.com localhost 127.0.0.1 ::1
Anda akan melihat output berikut:
Created a new certificate valid for the following names ???? - "app.example.com" - "localhost" - "127.0.0.1" - "::1" The certificate is at "./app.example.com+3.pem" and the key at "./app.example.com+3-key.pem" ? It will expire on 1 November 2023 ????
Konfigurasikan Nginx untuk Menggunakan Sertifikat yang Dihasilkan
Selanjutnya, Anda perlu mengonfigurasi server web Nginx untuk menggunakan sertifikat yang dihasilkan.
Pertama, salin file sertifikat yang dihasilkan ke direktori /etc/ssl/:
cp app.example.com+3* /etc/ssl/
Selanjutnya, atur kepemilikan yang tepat ke direktori root web Nginx:
chown -R www-data:www-data /var/www/html/
Selanjutnya, buat file konfigurasi virtual host Nginx dengan perintah berikut:
nano /etc/nginx/conf.d/app.conf
Tambahkan baris berikut:
server { listen 80; server_name app.example.com; root /var/www/html; } server { listen *:443 ssl; root /var/www/html; server_name app.example.com; ssl_certificate /etc/ssl/app.example.com+3.pem; ssl_certificate_key /etc/ssl/app.example.com+3-key.pem; }
Simpan dan tutup file setelah Anda selesai kemudian verifikasi Nginx untuk kesalahan sintaks:
nginx -t
Anda akan melihat output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Selanjutnya, edit file /etc/hosts dan ikat app.example.com Anda ke alamat IP sistem Anda:
nano /etc/hosts
Tambahkan baris berikut:
your-server-ip app.example.com
Verifikasi SSL untuk Domain Anda
Sekarang, buka browser web Anda dan ketik URL https://app.example.com . Anda akan melihat bahwa domain Anda diamankan dengan Mkcert.
Sekarang, klik Kunci ikon. Anda akan melihat informasi tentang sertifikat Anda di halaman berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal Mkcert dan membuat sertifikat CA tepercaya untuk pengembangan lokal Anda. Saya akan merekomendasikan menggunakan Mkcert hanya untuk lingkungan pengembangan. Ini tidak direkomendasikan untuk lingkungan produksi.