Administrator
发布于 2025-09-25 / 8 阅读
0
0

Nginx打开目录浏览功能

前言

在现代Web服务器管理中,目录浏览功能是一项实用但需要谨慎使用的特性。Nginx作为一款高性能的Web服务器,提供了灵活的目录列表配置选项,允许管理员根据需要展示或隐藏目录内容。本文档将详细介绍如何通过Nginx配置实现目录浏览功能,包括基础设置和访问权限控制两部分内容。

添加参数

autoindex on;

打开目录浏览功能,默认是不允许列出整个目录的。

autoindex_exact_size off;

默认为on,显示出文件的确切大小,单位是bytes。

autoindex_localtime on;

默认为off,显示的文件时间为GMT时间。

charset utf-8;

文件名有中文时,设置utf-8不会乱码

改为off后,显示出文件的大概大小,单位是kB或者MB或者GB

改为on后,显示的文件时间为文件的服务器时间

location /                                                                                                                                                                                       
{
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
charset utf-8; 
}

这段代码的意思就是把网站根目录直接列出来

设置访问验证

首先要生成用户名密码

提供一个在线工具: http://tool.oschina.net/htpasswd 在这里输入用户名密码后选择Crypt加密算法。可以在虚拟主机配置文件目录下新建一个htpasswd文件(比如/etc/nginx/htpasswd),然后编辑htpasswd文件将刚才生成的用户名密码复制进去。

然后再修改虚拟主机配置文件

server {
        listen     80;
        listen     443 ssl http2;
        server_name xxx.nhub.site;

        ssl_certificate ssl/nhub.site.pem;
        ssl_certificate_key ssl/nhub.site.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!3DES:!ADH:!RC4:!DH:!DHE;
        ssl_prefer_server_ciphers on;

        autoindex on;
        autoindex_exact_size off;
        autoindex_localtime on;
        charset utf-8; 

        auth_basic             "admin auth";
        auth_basic_user_file   /etc/nginx/htpasswd;
        location / {
            proxy_pass http://192.168.1.93;
        }
        location ~ ^/Nginx-Fancyindex-Theme/ {
            proxy_pass http://192.168.1.93;
        }
    }

Nginx-Fancyindex-Theme是autoindex 模块简约、现代和简单的响应式主题。


评论