基本认证(Basic Auth)
介绍
Basic Auth 是一种通过 HTTP 协议实现的验证方式,它在用户向服务器请求资源时,需要在请求头中附带用户名和密码的信息。 服务器会接收到请求头中的信息,并对该信息进行验证,如果验证通过,则返回请求的资源,否则返回 401 错误代码。
注意:使用 Basic Auth 时,用户名和密码会在请求头中明文传输,不推荐在生产环境中使用。
OpenResty Edge 中提供了对应的页面规则动作来实现此功能。
此动作仅有一个参数:Basic Auth 用户组,用于指定使用的用户组。
示例
OpenResty Edge 的 Basic Auth 用户通过用户组进行组织管理。 因此,需要先增加用户组。
增加 Basic Auth 用户
进入:应用 > HTTP/HTTPS > [指定应用] > HTTP Basic Auth 账号 > 新建 Basic Auth 用户组。
增加用户组:
输入用户组名称以及标签。 然后增加用户:
输入用户名和密码。
配置页面规则
增加页面规则,启动 Basic Auth 动作:
选择我们前面新建的用户组即可。
发送测试请求
发送一个不带认证信息的请求:
$ curl http://test.com/anything -v
...
< HTTP/1.1 401 Unauthorized
...
可以看到返回了 401 状态码,表示缺少认证信息。
接着发送一个带正确认证信息的请求:
$ curl http://test.com/anything -u oredge:xxxxxxxx -v
...
< HTTP/1.1 404 Not Found
...
没有返回 401,表示已经通过了 Basic Auth 认证;返回了 404 是因为请求访问了不存在的资源(/anything)。