[CentOS 7] [8.16] Konfigurasi HTTPS Pada Nginx

Konfigurasi Nginx HTTPS pada Web Server Nginx


Assalamu'alaikum Wr Wb

Hi guys, kembali lagi dengan blog ini. Pada kesempatan kali ini, Saya Dimas Trihandika akan sharing tutorial Konfigurasi HTTPS pada Web Server Nginx



Sebelumnya, apa itu HTTPS?

HTTPS (Hyper Text Transfer Protocol Secure) Umumnya sama dengan HTTP, yaitu protokol yang mengatur komunikasi antara client dan server. Pada umumnya cara komunikasi antara client dan server adalah client melakukan request ke server, kemudian server mengirimkan respon terhadap client. Respon yang dimaksud dapat berupa file HTML yang akan ditampilkan di browser ataupun data lain yang di-request oleh client

Namun HTTPS ini dapat dibilang versi amannya HTTP, karena HTTPS ini bekerja bersama protokol SSL (Secure Socket Layer) atau Transport Layer Security (TLS) yang memungkinkan adanya Enkapsulasi dan menambahkan keamanan sebuah jaringan yang diakses pada browser.

Secara default, HTTPS berjalan pada port 443.

Topology :



Segitu saja penjelasan singkat mengenai HTTPS, sekarang kita langsung masuk ketahap konfigurasi

Konfigurasi Server


1) Pertama pindah terlebih dahulu, ke directory /certs/ karena disitulah letak file make yang berfungsi untuk membuat Certificied SSL. Jika sudah buat file key atau kunci untuk file csr yang nantinya akan kita buat. Kemudian nanti akan diminta password untuk file key tersebut, maka dari itu masukan saja passwordnya terserah kalian
cd /etc/pki/tls/certs/
make "nama file".key 

2) Sekarang buat file csr nya. File csr ini merupakan identitas dari Sertfikat yang nantinya akan terbuat.

Maka nanti kalian akan diminta untuk memasukan beberapa identitas, Seperti Negara, Email, Organisasi, dan lain sebagainya.
make "nama file".csr

3) Sekarang konfigurasi RSA terhadap file key yang sudah dibuat dengan menggunakan openssl. Apa itu RSA?, singkatnya RSA adalah sebuah algoritma pada enkripsi public key. RSA merupakan algoritma pertama yang cocok untuk digital signature seperti halnya enkripsi.


4) Nah sekarang buat file crt yang merupakan Sertifikat yang terbentuk dari hasil pergabungan file csr dan key yang sudah dibuat tadi dengan menggunakan openssl.


  • x509 merupakan format public key certificates atau sertifikat yang digunakan 
  • -in merupakan sumber dari identitas yang nantinya akan di include kedalam sertifikatnya 
  • -out merupakan Sertifikat, atau hasil dari generate file 
  • -req -signkey merupakan file keynya. 
  • -days merupakan jangka waktu untuk sertifikat tersebut dalam hitungan hari

5) Sekarang konfigurasi HTTPS untuk domain tertentu, disini saya mengkonfigurasinya pada file konfigurasi Virtual host yang sudah saya buat pada lab sebelumnya. Jika kalian ingin mengeditnya di tempat konfigurasi global nginx juga tidak apa apa.
nano /etc/nginx/conf.d/"nama file vhost".conf

  • listen 443 ssl berarti suatu domain dikonfigurasi untuk mendengarkan atau membaca service https pada port 443
  • ssl_protocol TLSv1 TLSv1.1 TLSv1.2 merupakan standarisasi protocol yang digunakan oleh HTTPS yaitu ssl dan juga TLS (Transport Layer Security)
  • ssl_certificate merupakan letak dari file sertifikat .crt yang telah dibuat dan dikonfigurasi
  • ssl_certificate_key merupakan letak key dari sertifikat ssl tersebut

5) Restart nginx agar konfigurasi yang baru berjalan
systemctl restart nginx


6) Setalah itu, masukan service https kedalam firewall agar dapat diakses oleh client
firewall-cmd --permanent --add-service=https
 firewall-cmd --reload 

8) Edit konten web untuk https tersebut, dan jangan lupa sesuaikan peletakan file indexnya sesuai dengan directory dari domain yang kalian gunakan.


Verifikasi Client


1) Lakukan pengecekan pada Web Browser client dengan cara mengetikan nama domain dan diikuti dengan https:// di depannya
 https://"nama domain"
Nah maka akan ada peringatan Connection is not private karena SSL yang kita buat bersifat lokal. Untuk pengguna Google Chrome, Klik Proceed...(unsafe), untuk masuk ke konten web httpsnya.




2) Nah maka maka akan muncul halaman Web Httpsnya


3) Sekarang coba di inspect pagenya, kemudian pada tab security akan ada caution broken HTTPS. Jika ingin melihat sertifikatnya klik View certificate



4) Maka akan tampil informasi mengenai web https tersebut, tepatnya informasi yang telah kita buat tadi di file csr.



Sekian dan Semoga Bermanfaat

Terima Kasih, Wassalamu'alaikum Wr Wb

Comments