Как настроить nginx для включения режима "файловый браузер"?


как только я видел это раньше, когда я набираю URL http://test.com/test/, вместо того, чтобы дать мне html-страницу, он дает мне "файловый браузер", как интерфейс для просмотра всех файлов в данном месте.

Я думаю, что это может быть модуль nginx, который может быть включен в контексте местоположения.

The nginx.conf file:

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;
        }
    }
}

обновить error.log

2012/05/19 20:48:33 [ошибка] 20357#0: * 72 открыть ()" /home/yozloy/html/test " не удалось (2: нет такого файла или каталог), клиент: 125.43.236.33, сервер: 122.97.248.252, запрос: "GET / test HTTP / 1.1", хост: "unicom2.markson.hk

Я должен неправильно понять расположение /test значит, я думал, что это означает, когда я печатаю http://example.com/test, то он будет обращаться к корневому словарю, который является /home/yozloy/html/

5 58

5 ответов:

вы должны попробовать HttpAutoindexModule.

установите параметр autoindex в on. По умолчанию он выключен.

ваш пример конфигурации должен быть в порядке

location /{ 
   root /home/yozloy/html/; 
   index index.html; 
   autoindex on;
}

без опции autoindex вы должны получать ошибку 403 для запросов, которые заканчиваются на / в каталогах, которые не имеют . С помощью этой опции вы должны получить простой список:

<html>
<head><title>Index of /</title></head>
<body bgcolor="white">
<h1>Index of /test/</h1><hr><pre><a href="../">../</a>
<a href="test.txt">test.txt</a>                 19-May-2012 10:43            0
</pre><hr></body>
</html>

Edit: обновил список, чтобы удалить все ссылки чтобы проверить

1. Список содержимого всех каталогов

установите параметр autoindex в on. По умолчанию он выключен.

ваш конфигурационный файл ( vi /etc/nginx/sites-available/default) должно быть так

location /{ 
   ... ( some other lines )
   autoindex on;
   ... ( some other lines )
}

2. Список содержимого только некоторых конкретных каталогов

установите параметр autoindex в on. По умолчанию он выключен.

ваш конфигурационный файл ( vi /etc/nginx/sites-available/default)
должно быть так.
изменить path_of_your_directory в свой каталог путь

location /path_of_your_directory{ 
   ... ( some other lines )
   autoindex on;
   ... ( some other lines )
}

надеюсь, что это помогает..

вам нужно создать /home/yozloy/html/test папка. Или вы можете использовать alias Как ниже:

location /test {
    alias /home/yozloy/html/;
    autoindex on;
}

просто добавьте этот раздел на сервер, как раз перед location / {

location /your/folder/to/browse/ {
        autoindex on;
}

Я пробовал много раз.

и, наконец, я просто ставлю autoindex on; на http но за пределами server, и это нормально.