温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nginx web 网站访问限制登入验证

发布时间:2020-07-15 11:21:54 来源:网络 阅读:14273 作者:翘楚秦歌 栏目:建站服务器

在一些业务不能够直接提供给外部人员查看,只能指定某些人来查看。为了安全起见,限定访问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


访问网站页面,会跳出身份验证

Nginx web 网站访问限制登入验证


用错误帐号或密码访问网站,会一直进不去,取消登入后,会跳出下列画面

Nginx web 网站访问限制登入验证


非指定访问ip来访问网站,直接出现403拒绝访问

Nginx web 网站访问限制登入验证

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI