Cara Install SSL di NGINX [how to]

Cara Install SSL di NGINX - NimeTech.com

Pengantar

Secure Socket Layer (SSL) merupakan protocol jaringan yang digunakan untuk mengenkripsi komunikasi antara web server dengan browser. Pada saat akses website dengan browser maka url yang akan muncul biasanya akan berubah ke https:// ini menandakan bahwa website tersebut menggunakan SSL. Bagaimana cara install SSL di server agar website menggunakan https://? biasanya untuk install SSL ini kalian memerlukan file-file Certificate (.crt), Private Key(.key) dan CABundle(.bundle). Namun, ada SSL yang bisa di install hanya dengan file Certificate dan Private Key saja untuk install SSLnya. Seperti SSL dari Sectigo PositiveSSL kalian bisa install SSLnya hanya dengan menggunakan file CRT dan Private Key yang di upload ke web server kalian. Berikut ini langkah-langkah untuk cara install SSL di web server

Cara Install SSL di NGINX

Di tutorial/artikel kali ini untuk web server yang digunakan yaitu NGINX, pastikan dahulu kalau kalian menggunakan web server NGINX. Apabila belum menginstall web server NGINX kalian bisa baca artikel sebelumnya yaitu Cara Install LEMP terlebih dahulu. Selanjutnya kalian bisa ikuti langkah berikut ini.

  1. Allow Service http/https di firewall

Untuk memulai langkah-langkah cara install SSL di server jika menggunakan CentOS pasti service untuk http/https ini terdisable oleh firewall. Maka dari itu kalian bisa allow service dahulu di firewallnya dengan command berikut ini :

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
  1. Download File CSR, Private Key, dan CRT

Sebelum ke download file yang ada di judul subheading ini kalian perlu membuat folder dahulu di /etc/ssl, untuk command membuat foldernya kalian bisa ikuti command berikut ini :

mkdir /etc/ssl/namadomain
chmod 700 /etc/ssl/namadomain

Jangan lupa ya change mode foldernya dengan command chmod seperti diatas. Jika sudah kalian bisa generate dahulu Certificate Request(.csr) dan Private Key (.key) untuk generate file Certificate(.crt) di Provider SSLnya. Jangan lupa juga untuk menyimpan file Certificate Request(.csr) dan Private Key(.key) karena nanti akan di perlukan lagi saat proses install SSLnya.

  1. Buat VirtualHost SSL

Setelah kalian mendapatkan file Certificate(.crt), kalian bisa upload/unggah file .crt dan .key ke VPS/Servernya. Kemudian pindahkan kedua file tersebut ke folder /etc/ssl/namadomain kalian. Jika sudah terupload ke folder yang kalian buat kalian bisa buat Virtualhost untuk SSL, kalian bisa mengedit dari virtualhost yang sudah ada sebelumnya (Baca : Konfigurasi VirtualHost NGINX di VPS) dengan command berikut ini :

vim /etc/nginx/conf.d/default.conf

Tambahkan konfigurasi virtualhost berikut ini di baris paling bawah sendiri sebelum } yang terakhir, seperti berikut ini :

server {
    
    ... 
    
    listen 443 http2 ssl;
    server_name namadomain.com;
    
    ssl_certificate /etc/ssl/namadomain/namafile.crt;
    ssl_certificate_key /etc/ssl/namadomain/namafile.key;
    
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_ecdh_curve secp384r1;
    
    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
    add_header X-Frame-Options DENY;
    add_header X-Content-Type-Options nosniff;

}
  1. Cek Konfigurasi & Restar Service NGINX

Selanjutnya untuk diakhir bagian setelah menambahkan konfigurasi virtualhost kalian bisa cek dahulu konfigurasi dengan command berikut ini :

nginx -t

Jika tidak ada notifikasi error yang di tampilkan di command diatas kalian bisa restart service nginx dengan command berikut ini :

systemctl restart nginx
  1. Pengujian

Untuk pengujian apakah sudah berhasil atau belum kalian bisa akses url websitenya, dan nanti hasilnya kurang lebih akan sama seperti berikut ini :

Cara Install SSL di NGINX - NimeTech.com

Kesimpulan

Sebenarnya cukup mudah untuk melakukan Cara Install SSL di NGINX pada VPS atau Server, karena kalian hanya perlu file-file CSR, Private Key dan CRT yang di upload ke folder /etc/ssl dan hanya perlu menambahkan konfigurasi SSLnya di Virtualhost yang telah dibuat.

Namun jika kalian kesulitan untuk hal ini kami NimeTech.com siap membantu kalian dalam Jasa Manage VPS ataupun Jasa Setting VPS