有的时候网站不想让别人直接看到内容,需要设置一个用户名密码,经过认证之后才想让别人看见;
所以需要使用openssl生成授权文件挂到nginx站点配置文件上产生效果;
以下设置是在debian11、lnmp环境中验证没有问题的;
一、设置用户名密码
#1、创建一个htpasswd文件存放用户名和密码
touch /usr/local/nginx/conf/vhost/htpasswd
#2、创建一个用户名为5yun的用户添加进去
sh -c "echo -n '5yun:' >> /usr/local/nginx/conf/vhost/htpasswd"
#3、为上面自定义的用户名设置密码
sh -c "openssl passwd -apr1 >> /usr/local/nginx/conf/vhost/htpasswd"
#4、用cat命令查看htpasswd文件,看看用户名和密码有没有写进去
cat /usr/local/nginx/conf/vhost/htpasswd
二、设置NGINX认证登陆
此时将认证信息写入nginx站点配置文件中去
比如我的站点nginx配置文件为 /usr/local/nginx/conf/vhost/www.5yun.org.conf
打开这个配置文件,将以下location内容放进去就OK了
location / {
try_files $uri $uri/ =404;
auth_basic "Restricted Content";
auth_basic_user_file /usr/local/nginx/conf/vhost/htpasswd;
}
此时输入命令 nginx -t 验证一下nginx配置文件是否正确,没有问题重启nginx服务器就可以看到效果了
三、验证NGINX网站加密登陆访问效果
![图片[1]-Nginx设置密码登陆访问/Debian11-祖传电工](https://cdn.5yun.org/wp-content/uploads/2022/11/24159-1.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END