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:
- Buka terminal server menggunakan SSH.
- Akses berkas konfigurasi Nginx, umumnya terletak di
/etc/nginx/nginx.confatau di dalam direktori/etc/nginx/sites-available/nama-domain.conf. - Tambahkan baris perintah
ssi on;di dalam bloklocation /atau blokserveryang diinginkan. - Uji validitas konfigurasi dengan menjalankan perintah
sudo nginx -t. - 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" -->ataufile="header.html"sudah benar dan memiliki izin baca (read permission) oleh user Nginx (biasanyawww-dataataunginx). - Ekstensi file selain HTML tidak terbaca: Jika Anda menyisipkan SSI pada file dengan ekstensi
.shtmlatau.htm, pastikan tipe MIME tersebut telah didefinisikan menggunakan direktifssi_types text/html text/shtml;. - Error 500 Internal Server Error: Periksa log error Nginx di
/var/log/nginx/error.loguntuk melihat detail kesalahan sintaks pada berkas konfigurasi maupun kesalahan pada tag SSI di dalam berkas HTML.