Sobald ich dies schon einmal gesehen habe, wenn ich eine URL eingebe http://test.com/test/
, anstatt mir eine HTML-Seite zu geben, gibt es mir eine "Dateibrowser" -ähnliche Oberfläche, um alle Dateien am angegebenen Speicherort zu durchsuchen.
Ich denke, es ist vielleicht ein Nginx-Modul, das im Standortkontext aktiviert werden könnte.
Die nginx.conf
Datei:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 122.97.248.252;
location /test {
root /home/yozloy/html/;
autoindex on;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
Aktualisieren Sie die error.log
2012/05/19 20:48:33 [Fehler] 20357 # 0: * 72 open () "/ home / yozloy / html / test" fehlgeschlagen (2: Keine solche Datei oder kein solches Verzeichnis), Client: 125.43.236.33, Server : 122.97.248.252, Anfrage: "GET / test HTTP / 1.1", Host: "unicom2.markson.hk
Ich muss den Standort /test
bedeuten, ich dachte, es bedeutet, wenn ich http://example.com/test eingebe , dann würde es auf das Stammwörterbuch zugreifen, das ist/home/yozloy/html/
Antworten:
Sie sollten HttpAutoindexModule versuchen.
Setzen Sie die Autoindex-Option auf
on
. Es ist standardmäßig deaktiviert.Ihre Beispielkonfiguration sollte in Ordnung sein
Ohne Autoindex-Option sollte Fehler 403 für Anforderungen angezeigt werden, die mit
/
Verzeichnissen enden , die keineindex.html
Datei haben. Mit dieser Option sollten Sie eine einfache Auflistung erhalten:Bearbeiten: Die Liste wurde aktualisiert, um alle zu testenden Referenzen zu löschen
quelle
location /{ root /home/yozloy/html/; index index.html; autoindex on;}
nginx -V
sollte Ihnen die Liste der konfigurierten Optionen geben. Beachten Sie, dass der automatische Index standardmäßig aktiviert ist. Wenn also --without-autoindex nicht vorhanden ist, ist es in Ordnung.1. Listen Sie den Inhalt aller Verzeichnisse auf
Setzen Sie die Autoindex-Option auf
on
. Es ist standardmäßig deaktiviert.Ihre Konfigurationsdatei (
vi /etc/nginx/sites-available/default
) sollte so aussehen2. Listen Sie den Inhalt nur eines bestimmten Verzeichnisses auf
Setzen Sie die Autoindex-Option auf
on
. Es ist standardmäßig deaktiviert.Ihre Konfigurationsdatei (
vi /etc/nginx/sites-available/default
)sollte so aussehen.
Wechseln Sie
path_of_your_directory
in Ihren VerzeichnispfadIch hoffe es hilft..
quelle
location /<something>
ist die URL auf die Dateien zugreifen , die Sie teilen möchten (zum Beispiel/data
), nicht das Verzeichnis , das Sie wollen über nginx teilen (zum Beispiel~/videos/funny-cats/
).Alle Antworten enthalten einen Teil der Antwort. Lassen Sie mich versuchen, alles in einem zu kombinieren.
Schnelle Einrichtung des "Dateibrowser" -Modus auf einem frisch installierten Nginx-Server:
Standardkonfiguration für nginx bearbeiten:
Fügen Sie dem Konfigurationsabschnitt Folgendes hinzu:
Erstellen Sie dort einen Ordner und eine Beispieldatei:
Starten Sie nginx neu
Ergebnis überprüfen :
http://<your-server-ip>/myfolder
zum Beispiel http://192.168.0.10/myfolder/quelle
Sie müssen einen
/home/yozloy/html/test
Ordner erstellen . Oder Sie könnenalias
wie folgt zeigen:quelle
Ich habe es oft versucht.
Und ich endlich nur setzen
autoindex on;
in ,http
sondern außerhalbserver
, und es ist OK.quelle
Fügen Sie diesen Abschnitt einfach kurz vor dem Server zum Server hinzu
location / {
quelle