Nginx SSI On Directive: Cara Mengaktifkan Server Side Includes

Direktif ssi on; pada Nginx digunakan untuk mengaktifkan pemrosesan Server Side Includes (SSI) pada tingkat server, lokasi, atau direktori tertentu. SSI adalah mekanisme sederhana untuk menyisipkan konten eksternal—seperti header footer, tanggal, atau variabel server—ke dalam sebuah halaman HTML sebelum dikirimkan ke peramban pengguna, tanpa memerlukan pemrosesan bahasa skrip berat seperti PHP di setiap permintaannya.

Secara default, modul SSI pada Nginx dimatikan (ssi off;) demi alasan performa keamanan dan efisiensi pembacaan berkas. Ketika diaktifkan melalui direktori ssi on;, Nginx akan memindai berkas HTML yang masuk untukmencari tag khusus berformat <!--#include virtual="..." -->, mengeksekusinya, lalu menggabungkannya secara langsung sebelum merender halaman ke klien.

Sintaks Dasar dan Konfigurasi Nginx SSI

Untuk mengaktifkan SSI, Anda harus menempatkan direktif ssi on; di dalam blok http, server, atau location di dalam berkas konfigurasi utama Nginx (biasanya terletak di /etc/nginx/nginx.conf atau di dalam direktori sites-available/).

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

    # Mengaktifkan SSI untuk seluruh server ini
    ssi on;

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

Tabel Parameter Pendukung Nginx SSI

Selain direktif utama ssi on;, Nginx menyediakan beberapa parameter tambahan untuk mengatur perilaku pemrosesan SSI agar lebih optimal dan aman di lingkungan produksi.

Direktif SSI Nilai Default Fungsi dan Kegunaan
ssi off Mengaktifkan (on) atau menonaktifkan (off) pemrosesan SSI secara keseluruhan.
ssi_silent_errors off Jika bernilai on, pesan kesalahan SSI (seperti [an error occurred while processing this directive]) tidak akan ditampilkan ke peramban pengguna.
ssi_types text/html Menentukan tipe MIME apa saja yang akan diproses SSI. Anda dapat menambahkan tipe lain seperti application/x-javascript atau text/plain.
ssi_value_length 256 Menetapkan batasan panjang maksimum untuk nilai variabel SSI.

Langkah Penerapan dan Pengujian SSI

Untuk memastikan direktif ssi on; berjalan dengan baik pada server web Anda, ikuti langkah-langkah teknis berikut:

  1. Buka berkas konfigurasi Nginx Anda menggunakan teks editor seperti nano atau vim dengan hak akses sudo.
  2. Tambahkan baris ssi on; di dalam blok location / atau blok server yang diinginkan.
  3. Simpan berkas dan lakukan pengujian sintaks konfigurasi menggunakan perintah sudo nginx -t untuk memastikan tidak ada kesalahan pengetikan.
  4. Muat ulang layanan Nginx menggunakan perintah sudo systemctl reload nginx agar perubahan langsung diterapkan tanpa memutus koneksi aktif.
  5. Buat berkas uji coba berformat HTML dengan menyisipkan tag SSI, contohnya <!--#echo var="DATE_LOCAL" --> untuk menampilkan tanggal lokal server.

Troubleshooting Masalah Umum SSI

Kendala yang sering ditemui saat mengaktifkan SSI di Nginx adalah halaman web tetap menampilkan tag SSI mentah tanpa mengeksekusinya. Hal ini umumnya disebabkan oleh beberapa faktor lapangan:

  • Ekstensi Berkas: Secara default, Nginx hanya memindai tipe MIME text/html. Jika Anda menyisipkan SSI di dalam berkas dengan ekstensi lain (misalnya .shtml), pastikan tipe MIME tersebut telah didaftarkan dalam blok ssi_types.
  • Penyimpanan Cache: Peramban atau layanan proxy perantara (seperti Cloudflare) mungkin menyimpan versi halaman statis sebelum SSI diaktifkan. Lakukan pembersihan cache (purge cache) atau uji menggunakan mode penyamaran (incognito).
  • Hak Akses Berkas: Pastikan proses Nginx (biasanya dijalankan oleh pengguna www-data atau nginx) memiliki izin baca ke berkas yang coba disisipkan melalui perintah include.