Skip to main content

Panduan Instalasi SSL ITB (Nginx)


SSL ITB hanya meng-cover wildcard satu tingkat sub-domain (*.itb.ac.id) untuk website dengan multi level sub-domain bisa mengikuti panduan pengimplementasian free SSL (Let's Encrypt)

  1. Pastikan sudah melakukan downloadmemiliki SSL ITB terbaru yang berlaku
  2. Lakukan extract pada file arsip SSL ITB yang telah didownload,ITB, pada arsip tersebut seharusnya sudah terdapat file sertifikat (.crt) & private key (.key) sebagai file utama yang akan digunakan
  3. Simpan file SSL pada direktori yang aman atau direktori yang khusus untuk penyimpanan SSL agar memudahkan apabila ada proses pembaharuan nantinya
    #contoh penyimpanan file SSL
    
    sudo mkdir -p /etc/ssl/<tahun berlaku>
    
    sudo cp <nama file SSL>.crt /etc/ssl/<tahun berlaku>
    sudo cp <nama file private key>.key /etc/ssl/<tahun berlaku>
    sudo cp <nama file CA Bundle>.crt /etc/ssl/<tahun berlaku>
  4. Masuk ke dalam file konfigurasi nginx web server yang digunakan biasanya terletak pada path direktori
    sudo nano /etc/nginx/sites-available/<nama file>.conf
    
    #pastikan sites-available sudah sync (ln -s) dengan sites-enable
  5. Tambahkan konfigurasi pemanggilan SSL yang telah disimpan sebelumnya
    #konfigurasi SSL disimpan pada segment server {}
    
    server {
                  .............
                  listen 443 ssl;
                  server_name <nama domain>.com;
    
                  ssl_certificate     /etc/ssl/<tahun berlaku>/<nama file SSL>.crt;
                  ssl_certificate_key /etc/ssl/<tahun berlaku>/<nama file private key>.key;
                  ssl_trusted_certificate /etc/ssl/<tahun berlaku>/<nama file CA bundle>.crt;
    
                  ssl_protocols TLSv1.2 TLSv1.3;
                  ssl_ciphers HIGH:!aNULL:!MD5;
    
                  root /var/www/<path website>;
                  index index.php index.html;
    
                  location / {
                        try_files $uri $uri/ =404;
                  } 
     }
  6. Untuk melakukan pointing HTTP ke HTTPS tambahkan juga konfigurasi redirectnya masih pada file config yang sama
    server {
        listen 80;
        server_name <nama domain>.com;
        return 301 https://$host$request_uri;
    }
    ssl_certificate Menunjuk ke lokasi sertifikat SSL disimpan
    ssl_certificate_key Menunjuk ke lokasi private key disimpan
    ssl_trusted_certificate Menunjuk ke lokasi CA Bundle disimpan
  7. Setelah konfigurasi selesai ditambahkan simpan perubahan dan tutup, lalu lakukan pengecekan konfigurasi nginx untuk memastikan tidak ada error yang diakibatkan konfigurasi yang ditambahkan, setelah memastikan konfigurasi aman lakukan restart pada service nginx

    #nginx -t untuk melakukan pengetesan file config
    
    sudo nginx -t
    
    #restart atau reload file nginx
    
    sudo systemctl reload nginx
    sudo systemctl restart nginx
  8. Setelah nginx service selesai di restart, SSL dan HTTPS seharusnya sudah berhasil aktif pada saat website diakses dengan indikator gembok terkunci.