如何设置vhost以使用nginx自动索引文件

时间:2013-12-10 09:06:30

标签: linux web-services http nginx

我只需在nginx.conf中添加一个vhost,用于自动索引这样的文件:

server {
    listen       80;
    server_name res.rickyzhang.me;
    root  /home/wwwroot/default/res;
    location = / {
        autoindex      on;
    }
    access_log  /home/wwwlogs/access_res.log  access;
}

我认为这会有效,但是当我访问res.rickyzhang.me时,它总是给我400响应代码,这意味着请求无效且服务器无法理解,我很困惑。可以帮助任何人我?谢谢。

3 个答案:

答案 0 :(得分:0)

我不确定,但尝试在其中添加try_files

location = / {
    autoindex      on;
    try_files $uri $uri/;
}

答案 1 :(得分:0)

刚试过我的一台服务器:

# nginx -V
nginx version: nginx/1.4.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC)

server {
    server_name  some_hostname;

    location = / {
        root   html;
        autoindex on;
#http://wiki.nginx.org/HttpAutoindexModule
#The request only reaches the ngx_http_autoindex_module when 
#the ngx_http_index_module did not find an index file.
        index  should_not_exist;
    }
}

按预期工作

答案 2 :(得分:0)

我不知道回答自己是否合适。

昨天,我仔细检查了我的nginx.conf,我真的没有发现任何错误.400响应代码给了我一些线索,所以我只是将主机名从res更改为dw,其他人没有改变,它有效!

它真的令我惊讶,我想也许res是nginx中的保留字,但是我在google上搜索,没有任何相关内容。