autoindex în Nginx

Blocuri de bază Toate versiunile Nginx (autoindex_format: 1.7.9+)

Afișează automat lista fișierelor dintr-un director când acesta nu are fișier index, ca pagină HTML sau ca JSON.

Sintaxă
autoindex on | off;
autoindex_exact_size on | off;
autoindex_localtime on | off;
autoindex_format html | xml | json | jsonp;

Ce face autoindex

Cu autoindex on;, o cerere pentru un director fără fișier index primește o pagină generată de Nginx cu lista fișierelor și subdirectoarelor. Este util pentru un director de descărcări sau pentru oglinzi de pachete.

autoindex_exact_size off afișează dimensiunile rotunjite (K, M, G), autoindex_localtime on afișează ora serverului în loc de GMT, iar autoindex_format json returnează lista ca JSON, ușor de citit dintr-un script.

Activează listarea doar pentru directoarele care chiar trebuie să fie publice: altfel poți expune copii de rezervă, fișiere .sql sau configurații.

Parametri

Parametru Descriere
Context http, server, location.
Implicit autoindex off;, autoindex_exact_size on;, autoindex_localtime off;, autoindex_format html;
autoindex_exact_size off Dimensiuni rotunjite în loc de octeți exacți (doar pentru formatul HTML).
autoindex_format json Lista ca JSON (sau xml, jsonp).

Ce returnează

O pagină HTML (sau JSON/XML) cu lista fișierelor din director.

Exemple

Exemplul 1: Director public de descărcări

location /descarcari/ {
    root /var/www/exemplu.ro;
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
}

Exemplul 2: Lista fișierelor ca JSON

Configurația are autoindex on; și autoindex_format json; pe location /api-fisiere/.

curl -s https://exemplu.ro/api-fisiere/

Ieșire în terminal

[
{ "name":"documente", "type":"directory", "mtime":"Wed, 21 Oct 2026 09:12:44 GMT" },
{ "name":"raport-octombrie.pdf", "type":"file", "mtime":"Sun, 25 Oct 2026 08:10:00 GMT", "size":48213 }
]

Greșeli frecvente

  • Activezi autoindex on; la nivel de server și toate directoarele fără index devin listabile, inclusiv /uploads/ sau /backup/.
  • Te aștepți ca autoindex să ascundă fișierele care încep cu punct: Nginx nu le afișează în listă, dar ele rămân accesibile dacă cineva le cere direct. Blochează-le cu location ~ /\. { deny all; }.

Comenzi înrudite

  • index: Stabilește ce fișier servește Nginx când cererea este pentru un director (o adresă care se termină în /), de exemplu index.html sau index.php.