Nginx之10灵犀一指 - (访问认证),nginx灵犀


什么是访问认证

当我们网站对互联网开放时,但又想只有部分有权限的人才能进行访问。这是我们可以采用用户认证的方式进行限制,Nginx中提供了ngx_http_auth_basic_module模块来进行处理这项工作,此模块Nginx默认已经安装。
7

如何配置访问认证

server    {
    listen 80;
    server_name nginx.yekangming.com;
    auth_basic "Restricted Access";
    auth_basic_user_file /usr/local/nginx/auth/htpasswd;
    location / { 
        root /data/webroot/nginx;
        index index.html;
    } 
}

Nginx basic auth 语法

语法: auth_basic <string | off>
默认值: off
配置段: http, server, location, limit_except

语法: auth_basic_user_file <file>;
默认值: null
配置段: http, server, location, limit_except

用户密码文件,文件内容类似如下:
user1:password1
user2:password2:comment

创建用户时,会提示输入密码

htpasswd -c  /usr/local/nginx/auth/htpasswd <userName>

如果没有此命令时可以通过yum安装

yum -y install httpd-tools

小知识

一般对于需要控制用户访问的场景,可以配置allow及deny指定进行配合使用。

allow: 允许单个IP地址或者IP地址段访问
语法: allow address | CIDR | unix: | all;
默认值: null
配置段: http, server, location, limit_except

deny: 拒绝单个IP地址或者IP地址段访问
语法: deny address | CIDR | unix: | all;
默认值: null

相关内容