在一些业务不能够直接提供给外部人员查看,只能指定某些人来查看。为了安全起见,限定访问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拒绝访问
从以上结果上来看,设定符合要求,设置成功!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。