有时候我们需要对网站的访问进行权限认证。普遍的做法是做一个登录验证功能,可如果是静态博客,就没办法通过后端程序进行验证。这种情况下,可以用nginx的 ngx_http_auth_basic_module
模块进行登录验证。
默认情况下,nginx自带安装了 ngx_http_auth_basic_module
模块,我们只需要用第三方工具设置用户名、密码,保存到文件中,并在nginx配置中开启访问验证即可。
使用htpasswd生成密码
安装 htpasswd
$ yum -y install httpd-tools
设置账号密码
$ sudo htpasswd -c /usr/local/nginx/passwd username
按照提示输入密码,就在 /usr/local/nginx
目录下的passwd中保存了账号密码
$ more passwd
username:$apr1$b2RIEmiN$yxkWM7HUJb9VoyDyek4Kg0
nginx配置开启验证
在 nginx 配置文件中加上:
location / {
auth_basic "What are you want to do?";
auth_basic_user_file /usr/local/nginx/passwd;
}
重启 nginx 即可生效
网友评论