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.

Nach oben