Nginx web 网站登入验证
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx web 网站登入验证相关的知识,希望对你有一定的参考价值。
在一些业务不能够直接提供给外部人员查看,只能指定某些人来查看。为了安全起见,限定访问ip,外加在页面上做个简单的登入页面认证。
操作很简单,在这里做个简单的记录,以便后续查看回忆。
操作系统CentOS 7.2
nignx 1.10.1
首先我们用nginx提供HTTP的Basic Auth功能,配置了需要输入的用户名和密码,才能访问网站。
我们使用htpasswd来生成密码信息,就先要安装httpd-tools,因在httpd-tools中包含了htpasswd命令
我们要用在httpd-tools中htpasswd命令,来设置帐号密码
一般安装了httpd都会有。若没有就yum install -y httpd-tools安装一下
查看本地服务器是否安装了httpd-tools,
$ rpm -qa | grep httpd-tools httpd-tools-2.4.6-45.el7.centos.4.x86_64
接下来就创建帐号密码
$ htpasswd -c /data0/work/nginx/passwd.db test New password: Re-type new password: Adding password for user test
查看是否创建成功
$ cat /data0/work/nginx/passwd.db test:$apr1$QroBUTZr$UNtXwv5nS3/jtvTCIw96h/
发现帐号已存在,且为加密非明文密码
那我们就在nginx配置档里进行添加设定了
$ vim /data0/work/nginx/conf/nginx.conf server { listen 80 ; server_name test.xxx.com; charset utf-8; auth_basic "secrect"; ##加 auth_basic_user_file /data0/work/nginx/passwd.db; ##加 location / { root /data0/work/nginx/html/; index index.html; ##限定可访问网站的ip allow 39.28.0.0/16; allow 47.29.0.0/16; allow 120.83.0.0/16; allow 202.6.0.0/16; deny all; } }
检验nginx配置是否有误
$ /data0/work/nginx/sbin/nginx -t nginx: the configuration file /data0/work/nginx/conf/nginx.conf syntax is ok nginx: configuration file /data0/work/nginx/conf/nginx.conf test is successful
如果没有问题的话,重新加载nginx服务
$ /data0/work/nginx/sbin/nginx -s reload
访问网站页面,会跳出身份验证
用错误帐号或密码访问网站,会一直进不去,取消登入后,会跳出下列画面
非指定访问ip来访问网站,直接出现403拒绝访问
从以上结果上来看,设定符合要求,设置成功!
本文出自 “10793382” 博客,请务必保留此出处http://10803382.blog.51cto.com/10793382/1942691
以上是关于Nginx web 网站登入验证的主要内容,如果未能解决你的问题,请参考以下文章