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  
Re-type new  
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拒绝访问

从以上结果上来看,设定符合要求,设置成功!

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » Nginx web 网站访问限制登入验证

登录

找回密码

注册