Nginx访问控制有两种方法

--基于用户的basic认证访问控制
在nginx使用过程中,搭建了很多个站点,但是其中,有些站点不想被其他人访问,因此我们可以在nginx中为全部站点或某个站点设置访问权限认证,只有输入自己设置的正确的用户名与密码才可正常访问

--基于IP的访问控制
deny IP/IP段        拒绝某个IP或IP段的客户端访问
allow IP/IP段    允许某个IP或IP段的客户端访问
规则从上往下执行,配停止,再往下匹配

基于用户的basic认证访问控制

--安装htpasswd工具
yum install -y httpd-tools

--使用htpasswd 生成用户认证文件
htpasswd -c /usr/local/nginx/passwd admin

--编辑Nginx配置文件,为站点增加安全验证
location / {
auth_basic "END";
auth_basic_user_file /usr/local/nginx/passwd;
}

重启Nginx

nginx -s reload

请输入图片描述

基于IP的访问控制

有时候我们需要针对屏蔽某些恶意的IP访问我们的网站,或者限制仅仅某些白名单IP才能访问我们的网站。这时候我们就可以在nginx中通过简单的配置来达到目的

实例

--拒绝单个ip访问
# 格式: deny ip;
deny 126.115.63.52;

--允许单个ip访问
# 格式: allow ip;
allow 126.115.63.54;

--允许一个IP访问其他全部拒绝
allow 126.115.63.54;
deny all;

--拒绝所有ip访问
deny all;

--允许所有ip访问
allow all;

--拒绝p段访问
# deny ip/mask
# 屏蔽172.12.62.0到172.45.62.255访问的命令 
deny 172.12.62.0/24;

--允许ip段访问
# allow ip/mask
# 屏蔽172.102.0.0到172.102.255.255访问的命令 
allow 172.102.0.0/16;
Last modification:December 30th, 2020 at 04:42 am
如果觉得我的文章对你有用,请随意赞赏