10. Januar 2013
nginx: Automatische Directory-Listings aktivieren
Automatische Directory-Listings (automatic directory listings) sind hilfreich z.B. für Download-Server. In nginx können automatische Directory-Listings mithilfe des nginx-Moduls HttpAutoindexModule aktiviert werden.
Dazu spezifiziert man einfach
autoindex on;
in einem http {}, server {} oder location {} Block, z.B.:
location /downloads {
autoindex on;
}
Dabei wird die Dateigröße normalerweise exakt in Bytes angegeben; wenn die Dateigröße stattdessen gerundet in KB, MB oder GB angegeben werden soll, muß man noch
autoindex_exact_size off;
setzen:
location /downloads {
autoindex on;
autoindex_exact_size off;
}
Standardmäßig wird das letzte Änderungsdatum einer Datei in GMT angegeben; möchte man stattdessen die lokale Zeit angezeigt bekommen, muß man noch
autoindex_localtime on;
angeben:
location /downloads {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
Nach den Änderungen muß noch der nginx neu geladen werden:
/etc/init.d/nginx reload
Wichtig: automatische Directory-Listings in nginx funktionieren nur dann, solange es keine rivalisierende index-Direktive gibt und keine index-Datei in dem Verzeichnis vorhanden ist.
Wenn man also
location /downloads {
index index.html;
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
einsetzt und im /downloads-Verzeichnis die Datei index.html existiert, dann funktioniert das automatische Directory-Listing nicht mehr; solange nur eins von beiden existiert, wird das automatische Directory-Listing ausgeführt.