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配置段中。


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;
    }
}

  • http_auth_basic_module模块效率较为低下,可以结合lua或者nginx-auth-ldap模块实现用户认证。
文档更新时间: 2020-03-12 19:07   作者:闻骏