基于用户的basic认证访问控制 在nginx使用过程中,搭建了很多个站点,但是其中,有些站点不想被其他人访问,因此我们可以在nginx中为全部站点或某个站点设置访问权限认证,只有输入自己设置的正确的用户名与密码才可正常访问
基于IP的访问控制 deny IP/IP段 : 拒绝某个IP或IP段的客户端访问 allow IP/IP段 : 允许某个IP或IP段的客户端访问 规则从上往下执行,如匹配停止,不再往下匹配
安装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才能访问我们的网站。这时候我们就可以在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;