• HttpAuthBasic模块
  • 指令
  • auth_basic
  • auth_basic_user_file
  • 参考

    HttpAuthBasic模块

    该模块可以使你使用用户名和密码基于 HTTP 基本认证方法来保护你的站点或其部分内容。

    实例配置

    1. location / {
    2. : auth_basic "Restricted";
    3. : auth_basic_user_file conf/htpasswd;
    4. }

    指令

    • [#auth_basic auth_basic]
    • [#auth_basic_user_file auth_basic_user_file]

      auth_basic

    语法:*auth_basic [ text|off ]*

    默认值:*auth_basic off*

    作用域:*http, server, location, limit_except*

    该指令包含用于 HTTP 基本认证 的测试名和密码。分配的参数用于认证领域。值 "off" 可以使其覆盖来自上层指令的继承性。

    auth_basic_user_file

    语法:*auth_basic_user_file the_file*

    默认值:*no*

    作用域:*http, server, location, limit_except*

    该指令为某认证领域指定 htpasswd 文件名。

    文件格式类似于下面的内容:

    1. 用户名:密码
    2. 用户名2:密码2:注释
    3. 用户名3:密码3

    密码必须使用函数 crypt(3) 加密。 你可以使用来自 Apache 的 htpasswd 工具来创建密码文件。

    你也可以使用perl 创建密码文件,pw.pl 的内容:

    1. #!/usr/bin/perl
    2. use strict;
    3. my $pw=$ARGV[0] ;
    4. print crypt($pw,$pw)."\n";

    然後執行

    1. chmod +x pw.pl
    2. ./pw.pl password
    3. papAq5PwY/QQM

    papAq5PwY/QQM 就是password 的crypt()密码

    参考

    原始文档

    原文: https://wizardforcel.gitbooks.io/nginx-doc/content/Text/3.4_httpauthbasic.html