Daftar Nginx SSI Variables dan Cara Menggunakannya

Nginx Server Side Includes (SSI) menyediakan serangkaian variabel bawaan yang dapat digunakan untuk menyisipkan informasi dinamis ke dalam dokumen web secara langsung di tingkat server. Variabel-variabel ini mencakup informasi tentang waktu saat ini, permintaan HTTP klien, hingga struktur path file yang sedang diproses tanpa memerlukan eksekusi bahasa skrip eksternal seperti PHP atau Python.

Untuk mengaktifkan penggunaan variabel ini, modul ngx_http_ssi_module harus diaktifkan pada konfigurasi Nginx Anda, dan direktif ssi on; harus disetel di dalam blok server atau location yang relevan.

Daftar Nginx SSI Variables Utama

Berikut adalah tabel variabel SSI resmi yang didukung secara native oleh Nginx beserta fungsi dan contoh keluarannya:

Nama Variabel SSI Fungsi / Deskripsi Contoh Output
$date_local Menampilkan tanggal dan waktu lokal saat ini berdasarkan zona waktu server. Friday, 06-Jun-2025 14:30:22 UTC
$date_gmt Menampilkan tanggal dan waktu saat ini berdasarkan standar waktu GMT (Greenwich Mean Time). Fri, 06 Jun 2025 14:30:22 GMT
$document_name Menampilkan nama file dokumen atau skrip yang sedang diakses saat ini. index.html
$file_name Menampilkan jalur absolut dari file yang sedang diproses oleh SSI. /var/www/html/index.html
$query_string Menampilkan seluruh query string yang dikirimkan melalui URL permintaan. id=123&user=admin
$remote_addr Menampilkan alamat IP dari klien atau pengunjung yang mengakses server. 192.168.1.50
$document_uri / $uri Menampilkan URI relatif dari permintaan saat ini tanpa menyertakan query string. /pages/contact.html

Contoh Implementasi Kode SSI di Nginx

Untuk menampilkan variabel SSI di dalam file HTML, gunakan sintaks tag . Pastikan ekstensi file Anda diizinkan untuk diproses oleh modul SSI jika Anda tidak menggunakan pemetaan khusus.

<!-- Konfigurasi Nginx (nginx.conf) -->
server {
    listen 80;
    server_name contoh.lokal;
    root /var/www/html;

    location / {
        ssi on;
        ssi_types text/html;
    }
}
<!-- Contoh Penggunaan di dalam File HTML -->
<html>
<head>
    <title>Halaman Dinamis SSI</title>
</head>
<body>
    <h1>Selamat Datang di Situs Kami</h1>
    <p>Alamat IP Anda adalah: <!--# echo var="remote_addr" --></p>
    <p>Halaman ini diakses pada: <!--# echo var="date_local" --></p>
    <p>Nama file saat ini: <!--# echo var="document_name" --></p>
</body>
</html>

Tips Konfigurasi dan Troubleshooting Lapangan

Jika variabel SSI tidak muncul atau hanya menampilkan teks kosong pada halaman web, periksa beberapa hal teknis berikut:

  • Direktif ssi_types: Secara default, Nginx hanya memproses SSI pada tipe konten text/html. Jika Anda menggunakan file dengan ekstensi lain atau tipe MIME kustom, pastikan untuk menambahkannya melalui ssi_types di blok konfigurasi.
  • Ukuran Buffer: Jika Anda melakukan penyisipan file besar menggunakan perintah <!--# include virtual="..." -->, sesuaikan ukuran buffer dengan parameter ssi_buffer_size (default umumnya 256k atau 512k) untuk menghindari error SSI stub response.
  • Kompatibilitas Cache: SSI mengeksekusi konten secara dinamis di server, sehingga pastikan modul caching seperti FastCGI cache atau Proxy cache dikonfigurasi dengan benar agar tidak menyajikan data kedaluwarsa kepada pengguna.