HTTP Basic认证,就如它的名字一样,是一种基本认证方式:客户端明文将base64编码的用户名和密码传送到服务器,服务器认证通过后即登录成功。这种认证一般用于安全要求并不高的场合,免去了为web app自身专门写一套登录的工作量,而是利用web服务器来提供认证服务。

当然,如果登录失败,会返回HTTP 401 Unauthorized错误:

HTTP Basic的认证过程只比普通的http get请求多一个header:Authorization,header值是 “Basic ” + base64(user:password)

如果用webclient进行登录,只需要为request headers添加一个authorization键值对就可以了:

服务端配置(以nginx为例)

配置http basic认证需要安装ngx_http_auth_basic_module模块(默认从apt或者yum源安装的nginx一般都会带)。

1. 生成用户认证文件:

htpasswd -bc /usr/nginx/conf/htpasswd.users admin 123456

2. 为对应站点的server小节开启http basic认证并指定auth_basic认证文件:

auth_basic "认证框提示信息";
auth_basic_user_file /usr/nginx/conf/htpasswd.users;

以上两步即可完成配置。

分类: articles