关于Basic Authorization
在HTTP中,Basic Authorization基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。
在发送之前是以用户名追加一个冒号然后串接上口令,并将得出的结果字符串再用Base64算法编码。例如,提供的用户名是Aladdin、口令是open sesame,则拼接后的结果就是Aladdin:open sesame,然后再将其用Base64编码,得到QWxhZGRpbjpvcGVuIHNlc2FtZQ==。最终将Base64编码的字符串发送出去,由接收者解码得到一个由冒号分隔的用户名和口令的字符串。
虽然对用户名和口令的Base64算法编码结果很难用肉眼识别解码,但它仍可以极为轻松地被计算机所解码,就像其容易编码一样。编码这一步骤的目的并不是安全与隐私,而是为将用户名和口令中的不兼容的字符转换为均与HTTP协议兼容的字符集。
优点:
- 使用非常简单,
- 开发和调试工作简单,
- 没有复杂的页面跳转逻辑和交互过程;
- 更利于发起方控制。
下面我们就来正式看一下如何在Nginx上配置一个Basic Auth认证的下载服务:
建用户和文件夹
新建用户 shareuser:
建data文件夹,并
|
1 |
chown -R shareuser:shareuser /path/to/data |
列出指定目录下的文件:
需要的指令是autoindex on;, 即可列出该目录下的所有文件并可以递归计入子目录。
还有两个辅助的指令
- autoindex_exact_size on | off; , 即文件大小以字节数显示还是K/M/G显示
- autoindex_localtime on | off; 以local timezone还是UTC显示文件的修改时间。
配置Basic Auth
两个指令
auth_basic_user_file是一个存储用户名密码的文件。需要htpasswd命令来生成,
密码文件生成
首先需要安装
|
1 |
sudo apt-get install apache2-utils |
命令
|
1 |
htpasswd -c /path/to/passwd username |
-c 是新建一个文件, 如果是append到已有文件,不用该选项。
根据提示输入密码即可。
Config Sample
测试项目文件结构如下:
|
1
2
3
4
5 |
app
|
最终的结果如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
user shareuser;
server {
listen 8011;
root data;
# index index.html index.htm; #关闭index, 否则会显示index.html而不是列出文件
location / {
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
auth_basic "Restricted";
auth_basic_user_file passwd;
}
}
} |
启动
|
1 |
nginx -p /path/to/app -c conf/nginx.conf |
即可访问。
相关文章
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
- 64M VPS建站:如何选择最适合的网站建设平台? 2025-06-10
- ASP.NET本地开发时常见的配置错误及解决方法? 2025-06-10
- ASP.NET自助建站系统的数据库备份与恢复操作指南 2025-06-10
- 个人网站服务器域名解析设置指南:从购买到绑定全流程 2025-06-10
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
-
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2025-05-29 106 -
2025-05-29 91
-
2025-05-29 103
-
2025-05-29 95
-
2025-06-04 27

