Assalamu'alaikum wr.wb
Pada kali ini ane ingin share cara enable HTTPS pada Nginx di Centos 7. Pada kali ini, ane punya webserver dengan domain www.alhudsf.com yang ipnya 202.108.5.11
1. Secara default, sertifikat ssl yang sudah diizinkan pada firewall agar dapat dieksekusi berada di direktori /etc/pki/tls/certs/. Namun kalau mau buat dimana saja harus membuka firewall lagi. Untuk kasus seperti ini, maaf saya belum tahu caranya, dan kalau ada yang tahu bisa komen dibawah agar saya update lagi post ini. Pindah ke direktori /etc/pki/tls/certs/ untuk membuat ssl pada tahap selanjutnya, karena pada direktori tersebut terdapat script yang digunakan untuk membuat key, crt, dan csr yang dibutuhkan untuk membuat ssl.
2. Buat key sertifikat dengan menggunakan command makenamassl.key . File .key ini berguna sebagai sign atau tanda tangan sertifikat yang dimiliki server. Kemudian nantinya kita diminta memasukkan password.
Verifikasi pembuat key ssl
Command maketersebut adalah sebuah tool utility yang digunakan untuk maintain grup dari sebuah program. Dalam folder /etc/pki/tls/certs terdapat file Makefile yaitu berisi script yang digunakan untuk membuat file key, csr, dan crt yang telah saya bilang (silahkan anda periksa ls /etc/pki/tls/certs/). Untuk membuat file tersebut menggunakan command make yang akan mengikuti instruksi (skrip) dari isi file Makefile untuk membuat sesuatu yang telah diatur file tersebut.
3. Kemudian kita buat sertifikat csrnya, caranya adalah dengan mengetikkan make namassl.csr. Masukkan identitas server yang akan dimasukkan kedalam file csr yang digunakan untuk menandakan bahwa ssl ini adalah milik siapa. Atau agar lebih mudah dipahaminya, setelah membuat file key yang berguna sebagai tanda tangan server, sekarang membuat surat yang akan dikirim.
4. Selanjutnya adalah mengatur key tersebut menjadi file key yang digunakan untuk sign file csr, kemudian masukkan password yang telah dimasukan sebelumnya.
6. Konfigurasi HTTPS pada Nginx.
Pada tahap ini, anda bisa mengkonfigurasinya dimana saja sesuai website anda. Disini saya membuat konfigurasi baru untuk website dengan https dan tentu saja dengan konten yang berbeda. Kalau anda ingin mengubah website yang masih menggunakan http menjadi https, tinggal ubah saja listen 80; menjadi listen 443 ssl; kemudian tentukan file sertifikat yang digunakan dan protokol yang digunakan.
Disini saya membuatnya pada /etc/nginx/conf.d/ssl.conf
Konfigurasinya adalah seperti ini, sesuaikan dengan keadaan anda. Anda bisa mengubah yang sudah ada, atau membuat baru filenya.
Pada konfigurasi diatas, saya membuat server block, untuk web www.alhudsf.com. Block ini untuk membuat website pada server.
listen 443 ssl berguna untuk mengatur siapa saja yang dapat dipenuhi requestnya oleh klien. Pada option listen ini bisa dimasukkan ipaddress klien beserta port, atau port saja juga bisa. Kalau yang diisi portnya saja, seperti saya disini hanya mengisi 443 saja, itu artinya, server dapat memenuhi request dari semua ip yang mengakses port 443 (https) pada server dengan ssl yang otomatis diberikan dari server.
server_name untuk mendefinisikan nama server, disini sayamendefinisikan www.alhudsf.com
ssl_protocols berguna untuk mengaktifkan protokol ssl tertentu. Disini saya mengaktifkan protokol TLSv1 TLSv1.1 dan TLSv1.2
ssl_certificate untuk mendefinisikan file sertifikat berformat .crt yang digunakan untuk website dengan protokol https yang telah dibuat. Disini saya membuatnya di /etc/pki/tls/certs/ssl-alhudsf.crt
ssl_certificate_key untuk mendefinisikan file secret key suatu sertifikat ssl. File ini berformat .key yang telah dibuat sebelumnya. Disini saya membuatnya di /etc/pki/tls/certs/ssl-alhudsf.key
location / berguna untuk mengatur halaman website. Garis miring (/) menandakan direktori root. Jadi / itu menandakan halaman utama web (index) dan subdirektori didalamnya diikuti dengan nama direktori tersebut.
root /usr/share/nginx/ssl untuk meletakkan konten web pada direktori /usr/share/nginx/ssl untuk website www.alhudsf.com dengan protokol https
index index.html index.htm berguna untuk mendefinisikan file index yang digunakan, disini saya hanya mengizinkan file index.html saja, belum index dengan format lainnya seperti .pl atau .php dan lainnya, kalau anda ingin menambahkan index tersebut, pastikan sudah terinstall dependencies yang diperlukan
7. Konfigurasi firewall agar dapat mengizinkan service https
8. Restart service nginx
9. Buat direktori sesuai yang telah dikonfigurasi
10. Buat file index untuk pengujian
Masukkan isi filenya sesuka hati anda, karena ini hanya sebagai pengujian saja.
Disini saya memasukkannya sebagai berikut
11. Buka web anda dengan mengetikkan https://namadomain, kemudian akan terlihat eror kalau koneksi kita tidak private. Namun kita bisa melewati eror tersebut dengan mengklik advanced
Klik Proceed to namadomainanda
Dan akhir kalam, post ini diakhiri dengan tampilan web dengan protokol https
Sekian Semoga Bermanfaat
loading...
Comments
Post a Comment