当前位置: 首页 > article >正文

Nginx开启目录浏览功能时加密码的方法

环境:CentOS7

1.安装工具

sudo yum install httpd-tools

2. 创建密码文件和用户 使用 htpasswd 命令来创建密码文件并添加用户。

以下命令会创建一个名为 .htpasswd 的文件,并添加一个名为 your_username 的用户。

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

执行上述命令后,系统会提示你输入并确认该用户的密码。

如果你需要添加更多用户,可以使用以下命令(去掉 -c 选项,因为 -c 选项用于创建新文件,再次使用会覆盖原文件):

sudo htpasswd /etc/nginx/.htpasswd another_username

3. 配置 Nginx 开启目录浏览和密码认证 编辑 Nginx 的配置文件,通常位于 /etc/nginx/sites-available/ 目录下,找到你需要开启目录浏览和添加密码认证的虚拟主机配置文件,或者直接编辑 nginx.conf 文件。 在需要开启目录浏览和添加密码认证的 location 块中添加以下配置:

server {
    listen 80;
    server_name your_domain.com;

    location /your_directory {
        # 开启目录浏览功能
        autoindex on;
        # 设置目录列表格式为 HTML
        autoindex_format html;
        # 设置字符编码
        charset utf-8;

        # 开启基本认证
        auth_basic "Restricted Access";
        # 指定密码文件路径
        auth_basic_user_file /etc/nginx/.htpasswd;
    }
}

上述配置中:

autoindex on;:开启目录浏览功能。

autoindex_format html;:设置目录列表以 HTML 格式显示。

charset utf-8;:设置字符编码为 UTF - 8,避免中文等字符显示乱码。

auth_basic "Restricted Access";:设置认证提示信息,当用户访问受保护的目录时,会弹出提示框显示该信息。

auth_basic_user_file /etc/nginx/.htpasswd;:指定密码文件的路径。

4. 检查并重启 Nginx 在修改配置文件后,需要检查配置文件的语法是否正确:

sudo nginx -t

如果输出显示 syntax is ok 和 test is successful,则表示配置文件语法正确。

重启 Nginx 使配置生效:

sudo systemctl restart nginx

5. 测试访问 现在,当你尝试访问 http://your_domain.com/your_directory 时,会弹出一个认证提示框,要求你输入用户名和密码。

输入之前创建的用户名和密码,验证通过后即可浏览目录内容。


http://www.kler.cn/a/579409.html

相关文章:

  • Java 解决 TCP 粘包问题详解:原理与实战示例
  • 【flutter】TextField输入框工具栏文本为英文解决(不用安装插件版本
  • 爬虫案例十js逆向合肥滨湖会展中心网
  • 【大模型基础_毛玉仁】1.4 语言模型的采样方法
  • mac本地安装运行Redis-单机
  • 【前端】【组件】【vue2】封装一个vue2的ECharts组件,不用借助vue-echarts
  • MySQL创建数据库和表,插入四大名著中的人物
  • 深度学习与普通神经网络有何区别?
  • Ai大模型day02神经网络+深度学习
  • Agentic系统:负载均衡与Redis缓存优化
  • 刷题记录(LeetCode738 单调递增的数字)
  • Web3 的隐私保护机制:如何保障个人数据安全
  • Redis渐进式遍历数据库
  • rpc和proto
  • 【YOLOv12改进trick】多尺度大核注意力机制MLKA模块引入YOLOv12,实现多尺度目标检测涨点,含创新点Python代码,方便发论文
  • 手写Tomcat:实现基本功能
  • CTFHub-FastCGI协议/Redis协议
  • 行式数据库与列式数据库区别
  • 【渗透测试】基于时间的盲注(Time-Based Blind SQL Injection)
  • elasticsearch是哪家的