我自己创建了一个nginx服务,不过我不想把我的nginx服务对外服务。原因这里涉及到一些个人隐私,所以我想设置一下认证,只有认证通过才可以浏览。这里使用的是htpasswd来做用户认证,先安装htpasswd:
[root@www.wulaoer.org ~]# yum -y install httpd-tools
htpasswd的相关参数:
-c 创建passwdfile.如果passwdfile 已经存在,那么它会重新写入并删去原有内容. -n 不更新passwordfile,直接显示密码 -m 使用MD5加密(默认) -d 使用CRYPT加密(默认) -p 使用普通文本格式的密码 -s 使用SHA加密 -b 命令行中一并输入用户名和密码而不是根据提示输入密码,可以看见明文,不需要交互 -D 删除指定的用户
工具安装成功,下面开始创建用户和密码,这里我把用户和密码创建到home目录下的passwd文件中。
[root@www.wulaoer.org ~]# htpasswd -c /home/passwd wulaoer New password: Re-type new password: Adding password for user wulaoer
输入两次密码,用户创建成功,我们看一下创建的密码是什么样的。
[root@www.wulaoer.org ~]# cat /home/passwd wulaoer:$apr1$.GQE3WCv$HZJf3gjWr0olBFv4VZMFL.
把创建的用户和密码加到需要认证的nginx中,打开需要认证的nginx配置文件
server { listen 80 default_server reuseport; #listen [::]:80 default_server ipv6only=on; server_name _; index index.html index.htm index.php; default_type 'text/html'; charset utf-8; auth_basic "Welcome to www.wulaoer.org"; #这里是验证时的提示信息 auth_basic_user_file /home/passwd; ..............................................
下面验证一下,是否需要输入用户名和密码,把刚刚创建的用户名和密码输入进去,是否能够访问站点的内容。
输入用户和密码后,我这里显示的验证成功,如果验证不通过肯定是用户和密码错误了,或者nginx配置的用户名和密码的地址错误。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏