有时候我们会有一些Web系统,默认不带登录认证功能,除了限制访问IP之外,还需要添加一个登录认证,Nginx自带的 ngx_http_auth_basic_module
模块可以帮我们实现一个简单的用户登录验证功能。
语法: auth_basic string | off;
默认值: off
配置段: http, server, location, limit_except
默认不开启认证,如果后面跟上字符,这些字符会在弹窗中显示。
1 2
| $ echo -n 'dingmingk:' >> conf/site_pass $ openssl passwd passwd123 >> conf/site_pass
|
生成一个用户名为dingmingk密码为passwd123的用户认证。
1 2 3 4 5 6 7 8 9 10 11
| server { server_name www.dingmingk.com index index.html index.php; root /data/www.dingmingk.com; location / { auth_basic "Please input your Username&Password."; auth_basic_user_file conf/site_pass; } }
|
Safari浏览器打开如下:
认证错误界面: