Cara Mengaktifkan Nginx SSI On dengan Benar & Cepat

Mengaktifkan Server Side Includes (SSI) pada web server Nginx dilakukan dengan menyertakan perintah ssi on; di dalam blok konfigurasi http, server, atau location. Fitur ini memungkinkan penyisipan file eksternal (seperti header atau footer HTML) ke dalam halaman web secara dinamis sebelum dikirimkan ke peramban pengguna, tanpa memerlukan pemrosesan bahasa backend yang berat seperti PHP.

Secara default, modul SSI pada Nginx sudah disertakan (built-in) saat instalasi standar, namun statusnya non-aktif (off). Untuk mengaktifkannya secara global maupun spesifik pada direktori tertentu, administrator sistem harus menyunting berkas konfigurasi utama (nginx.conf) atau berkas virtual host yang sedang aktif.

Langkah Teknis Mengaktifkan Nginx SSI

Berikut adalah langkah-langkah konfigurasi untuk mengaktifkan SSI pada blok server atau location:

  1. Buka terminal server menggunakan SSH.
  2. Akses berkas konfigurasi Nginx, umumnya terletak di /etc/nginx/nginx.conf atau di dalam direktori /etc/nginx/sites-available/nama-domain.conf.
  3. Tambahkan baris perintah ssi on; di dalam blok location / atau blok server yang diinginkan.
  4. Uji validitas konfigurasi dengan menjalankan perintah sudo nginx -t.
  5. Simpan berkas dan lakukan muat ulang layanan Nginx menggunakan perintah sudo systemctl reload nginx.

Contoh Blok Kode Konfigurasi Nginx SSI

Contoh penerapan sintaks SSI pada berkas konfigurasi Nginx:

server {
    listen 80;
    server_name contohdomain.com;
    root /var/www/html;

    index index.html index.htm;

    location / {
        ssi on;
        try_files $uri $uri/ =404;
    }

    # Konfigurasi opsional untuk ekstensi file tertentu
    location ~ \.shtml$ {
        ssi on;
        ssi_silent_errors on;
    }
}

Direktif Pendukung Nginx SSI

Selain perintah utama untuk menyalakan SSI, Nginx menyediakan beberapa direktif tambahan untuk mengatur perilaku pemrosesan file SSI agar berjalan optimal:

Direktif Nilai Default Fungsi & Keterangan
ssi off Mengaktifkan (on) atau menonaktifkan (off) pemrosesan SSI.
ssi_silent_errors off Jika bernilai on, pesan kesalahan SSI tidak akan dicetak ke halaman web saat terjadi kegagalan inklusi.
ssi_types text/html Menentukan tipe MIME apa saja yang akan diproses SSI. Defaultnya hanya memproses text/html.
ssi_value_length 256 Menentukan panjang maksimum parameter dalam perintah SSI.

Troubleshooting Masalah SSI di Nginx

Beberapa kendala umum yang sering ditemukan saat mengaktifkan SSI meliputi:

  • File tidak terinklusi: Pastikan path file yang dipanggil menggunakan perintah <!--#include virtual="/header.html" --> atau file="header.html" sudah benar dan memiliki izin baca (read permission) oleh user Nginx (biasanya www-data atau nginx).
  • Ekstensi file selain HTML tidak terbaca: Jika Anda menyisipkan SSI pada file dengan ekstensi .shtml atau .htm, pastikan tipe MIME tersebut telah didefinisikan menggunakan direktif ssi_types text/html text/shtml;.
  • Error 500 Internal Server Error: Periksa log error Nginx di /var/log/nginx/error.log untuk melihat detail kesalahan sintaks pada berkas konfigurasi maupun kesalahan pada tag SSI di dalam berkas HTML.