手动阀

Good Luck To You!

Nginx列出目录和文件并用密码控制访问权限配置方法

在 Nginx 中列出目录和文件,并使用密码保护访问权限,可以通过配置 HTTP Basic Auth 实现,以下是一个详细的步骤指南:

Nginx列出目录和文件并用密码控制访问权限配置方法

安装 Nginx

如果你还没有安装 Nginx,可以使用包管理器进行安装,在 Ubuntu/Debian 系统上,可以使用以下命令:

sudo apt update
sudo apt install nginx

创建密码文件

你需要创建一个包含用户名和密码的文件,使用htpasswd 工具来生成这个文件,你可以用apt 安装apache2-utils 包来获得htpasswd 工具:

sudo apt install apache2-utils

然后运行以下命令来创建密码文件(例如/etc/nginx/.htpasswd):

sudo htpasswd -c /etc/nginx/.htpasswd your_username

系统会提示你输入密码并确认一次,如果你想添加更多用户,可以运行:

sudo htpasswd /etc/nginx/.htpasswd another_username

配置 Nginx

编辑 Nginx 配置文件以启用密码保护和列出目录内容,假设你要保护的目录是/var/www/html/protected,打开或创建相应的服务器块配置:

server {
    listen       80;
    server_name  your_domain_or_ip;
    location /protected {
        auth_basic "Restricted Area";
        auth_basic_user_file /etc/nginx/.htpasswd;
        autoindex on;
        root /var/www/html;
    }
}

在这个配置中:

Nginx列出目录和文件并用密码控制访问权限配置方法

auth_basic "Restricted Area"; 设置一个基本的认证提示信息。

auth_basic_user_file /etc/nginx/.htpasswd; 指定存储用户名和密码的文件路径。

autoindex on; 开启目录列表功能。

root /var/www/html; 指定根目录。

测试配置

在保存配置文件后,运行以下命令测试配置文件的正确性:

sudo nginx -t

如果配置正确,你会看到类似如下的信息:

Nginx列出目录和文件并用密码控制访问权限配置方法

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重新加载 Nginx

如果配置文件没有问题,重新加载 Nginx 使更改生效:

sudo systemctl reload nginx

或者在某些系统上使用:

sudo service nginx reload

访问受保护的目录

当你访问http://your_domain_or_ip/protected 时,浏览器会提示你输入用户名和密码,只有输入正确的凭据后,才能查看目录中的文件列表。

通过以上步骤,你就成功实现了使用密码保护访问 Nginx 上的目录和文件列表的功能。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.