nginx提供了认证模块,语法是
location / {
auth_basic 'string'; # 支持验证模块和名字
auth_basic_user_file conf/htpasswd; # 密码文件
}
linux提供了密码生成命令
htpasswd是apache提供的密码生成工具,nginx也支持auth_basic模块,因此我们可以利用htpasswd命令生成账户密码文件,提供给nginx去使用
yum install httpd-tools
语法
htpasswd -bc .access username password
解释
-b 在命令行中输入账号密码
-c 创建密码文件
username 账号
password 密码
默认 .access 文件采用加密方式md5验证
生成密码文件
htpasswd -bc ./htpasswd yu 666
实际操作案例
1、准备一个用于练习认证模块的配置文件
vim learn_auth.conf
server{
listen 90;
server_name _;
location / {
root /web/learn_auth;
index index.html;
auth_basic "learn nginx auth_module";
auth_basic_user_file /opt/tngx232/conf/extra/htpasswd;
}
}
nginx会去这个文件中验证账号密码
auth_basic_user_file /opt/tngx232/conf/extra/htpasswd;
网友评论