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:
- Buka berkas konfigurasi Nginx Anda menggunakan teks editor seperti nano atau vim dengan hak akses sudo.
- Tambahkan baris
ssi on;di dalam bloklocation /atau blokserveryang diinginkan. - Simpan berkas dan lakukan pengujian sintaks konfigurasi menggunakan perintah
sudo nginx -tuntuk memastikan tidak ada kesalahan pengetikan. - Muat ulang layanan Nginx menggunakan perintah
sudo systemctl reload nginxagar perubahan langsung diterapkan tanpa memutus koneksi aktif. - 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 blokssi_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-dataataunginx) memiliki izin baca ke berkas yang coba disisipkan melalui perintahinclude.