Nginx基础认证模块 – ngx_http_auth_basic_module
01.基础认证模块用于通过简单的”用户名+密码”的方式控制用户访问特定的资源。
- 基础认证模块的参数包括:
- auth_basic,当进行”用户密码”时显示在网页上的提示语。
- auth_basic的值为”要显示的字符串”或off,默认为off。
- auth_basic可以配置在http,server,location配置段中。
- auth_basic_user_file,保存”用户”与”密码”的文件名称。
- auth_basic_user_file的值为文件名,建议使用绝对路径。
- auth_basic_user_file的格式为用户名 密码,但建议不要手工填写而是由工具生成。
- auth_basic_user_file可以可以配置在http,server,location配置段中。
- auth_basic_user_file的值为文件名,建议使用绝对路径。
- auth_basic,当进行”用户密码”时显示在网页上的提示语。
02.基础认证模块配置示例:
- yum install httpd-tools,安装httpd工具。
- mkdir /opt/Apps/nginx/ssl,创建auth_basic_user_file文件目录。
- htpasswd -c /opt/Apps/nginx/ssl/main.passwd dominos,在指定路径下创建名为main.passwd的文件,文件中的用户名为dominos。
- 第一次创建需要使用-c参数,之后追加用户则必须不加-c参数,否则会覆盖该文件。
- vim /opt/Apps/nginx/conf/conf.d/main.conf,编辑nginx配置文件,添加如下配置:
server {
listen 80;
server_name nginx.test.com;
error_log logs/nginx_test_error.log error;
access_log logs/nginx_test_access.log main gzip flush=5m;
location / {
root html/main;
index index.html index.htm index.php;
auth_basic "please enter:";
auth_basic_user_file /opt/Apps/nginx/ssl/main.passwd;
}
}
- chown -R nginx:nginx /opt/Apps/nginx/,修改nginx目录的属主属组。
- /opt/Apps/nginx/sbin/nginx -s reload ,重载nginx配置文件。
- http://nginx.test.com/,访问站点,提示输出用户名及密码进行验证:
- http_auth_basic_module模块效率较为低下,可以结合lua或者nginx-auth-ldap模块实现用户认证。
文档更新时间: 2020-03-12 19:07 作者:闻骏