因为某些原因不希望自己的网站被人看到,某些内容只想给某些特定的用户看到的话,HTTP 用户认证是一个很好的解决方法。下面是在 Nginx 实现 HTTP 用户认证方法。
本人一直使用军哥的LNMP,所以,默认情况下nginx已经安装了ngx_http_auth_basic_module模块。
1、生成认证文件
[root@lnmp ]# printf "vjsun:$(openssl passwd -crypt 123456)\n" >> /home/htpasswd
[root@lnmp ]#cat /home/htpasswd
vjsun:/jVjGIZMnyJ9.
vjsun 是用户名
123456 是密码
/home/htpasswd 是认证文件的地址
以上 3 个大家自行根据实际情况修改,认证文件的地址也没有要求
2、配置网站conf文件
server{
listen 80;
server_name www.vjsun.com;
index index.html index.php;
root /home/wwwroot/www.vjsun.com;
location /
{
auth_basic "Please enter your username and password";
auth_basic_user_file /home/htpasswd;
autoindex on;
}
}
注意:一定要注意auth_basic_user_file
路径,否则会不厌其烦的出现403。
3、重启Nginx
/etc/init.d/nginx restart