Secara default sebuah web server HTTP seperti Nginx tidak memiliki mekanisme keamanan dalam mengirimkan data dari server ke client, hal ini menjadi masalah ketika aplikasi web yang ada didalam web server tersebut mengirimkan data-data yang sensitif seperti username dan password, untuk mengatasinya web server perlu mengaktifkan TLS/SSL sehingga protokol yang digunakan menjadi HTTPS.
Protokol HTTPS menggunakan TLS/SSL untuk mengamankan setiap data yang akan dikirimkan, sehingga ketika data dikirimkan lewat jaringan tidak ada yang melihat isi dari data tersebut kecuali si pengirim dan penerima, HTTPS berjalan pada port 443, dan memerlukan sebuah sertifikat digital yang ditandatangani sebuah CA untuk beroperasi.
Kali ini saya akan membahas cara mengkonfigurasi Nginx agar dapat menjalankan HTTPS.
Terima Kasih
Protokol HTTPS menggunakan TLS/SSL untuk mengamankan setiap data yang akan dikirimkan, sehingga ketika data dikirimkan lewat jaringan tidak ada yang melihat isi dari data tersebut kecuali si pengirim dan penerima, HTTPS berjalan pada port 443, dan memerlukan sebuah sertifikat digital yang ditandatangani sebuah CA untuk beroperasi.
Kali ini saya akan membahas cara mengkonfigurasi Nginx agar dapat menjalankan HTTPS.
Topologi
Web Server
- Pertama pastikan nginx sudah dapat beroperasi sebelumnya, jika belum bisa lihat disini.
- Kedua buatlah sebuah sertifikat digital self-signed atau dari CA, saya sudah pernah membahas cara membuat CA pada posting yang ini.
- Buka kembali file konfigurasi nginx pada /etc/nginx/nginx.conf, tapi jika ingin menerapkannya pada virtual host maka sesuaikan file konfigurasinya, contohnya pada vi /etc/nginx/conf.d/vhost.conf.
- Restart service nginx untuk memperbarui konfigurasi.
- Testing client lewat firefox.
- Penting ! , jika pada google chrome maka akan tentap mendapatkan error meskipun sudah mengimport CA, ini dikarenakan bug pada Google chrome versi yang baru baru ini.
[root@m1-dz ~]# vi /etc/nginx/nginx.conf server { listen 443 ssl; #listen [::]:80 default_server; server_name www.network.dz; root /usr/share/nginx/html; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_ciphers ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!aNULL!eNull:!EXPORT:!DES:!3DES:!MD5:!DSS; ssl_certificate /etc/pki/tls/certs/web-cert.crt; #lokasi sertifikat ssl_certificate_key /etc/pki/tls/private/web-key.key; #private key
[root@m1-dz ~]# systemctl restart nginx
Terima Kasih
Komentar
Posting Komentar