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;