IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Nginx作为文件服务器提供下载-增加权限验证 -> 正文阅读

[系统运维]Nginx作为文件服务器提供下载-增加权限验证

作者:recommend-box insert-baidu-box

Nginx作为文件服务器提供下载-验证用户名和密码来限制对资源的访问

在完成搭建Nginx作为文件服务器提供下载之后,为了保证文件的安全性需要通过用户名和密码对文件的访问 。在Nginx中的ngx_http_auth_basic_module模块允许通过使用“HTTP 基本身份验证”协议验证用户名和密码来限制对资源的访问

示例配置

location / { 
    auth_basic "closed site"; 
    auth_basic_user_file conf/htpasswd;
}

htpasswd

我们需要使用来自Apache的一个名为htpasswd工具,用来对密码进行加密。

# 安装htpasswd
sudo apt install apache2-utils

# 创建一个文件夹
mkdir /usr/local/src/nginx/

# 使用htpasswd将用户名、密码存入指定文件(文件中的密码是经过加密的)
htpasswd -bc /usr/local/src/nginx/passwd username password

# 后续增加用户名、密码(加-c会覆盖原来用户名、密码)
htpasswd -b /usr/local/src/nginx/passwd username password
  • -c 创建一个新文件。
  • -n 不更新文件; 在标准输出上显示结果。
  • -b 使用命令行中的密码而不是提示输入密码。
  • -i 从标准输入读取密码而不进行验证(用于脚本使用)。
  • -m 强制对密码进行 MD5 加密(默认)。
  • -B 强制对密码进行 bcrypt 加密(非常安全)。
  • -C 设置用于 bcrypt 算法的计算时间(更高更安全但更慢,默认值:5,有效值:4 到 17)。
  • -d 强制对密码进行 CRYPT 加密(最多 8 个字符,不安全)。
  • -s 强制对密码进行 SHA 加密(不安全)。
  • -p 不加密密码(明文,不安全)。
  • -D 删除指定用户。
  • -v 验证指定用户的密码。

配置文件

/etc/nginx/conf.d目录下,file_system.conf文件。

server {
        listen 5001;
        server_name localhost;
        
        auth_basic "closed site";
    	# 用户、密码文件存放路径
        auth_basic_user_file /usr/local/src/nginx/passwd;

        location / {
        		# 文件存放目录
                root /home/jing/files;
        		# 索引功能 开启
                autoindex on;
        		# 自动索引精确大小 关闭
                autoindex_exact_size off;
        		# 自动索引本地时间 开启
                autoindex_localtime on;
        }
}

重启Nginx

sudo service nginx restart

网页访问

网页访问文件时,会弹出登录框,登录之后即可访问。
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-15 00:46:32  更:2022-04-15 00:48:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 21:36:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码