Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。有着负载均衡、动静分离等强大的功能,而且还有众多三方插件来满足应用要求。这里重点介绍nginx实现IP地址的访问控制策略配置。
一、简要说明
Nginx配置访问IP可以修改nginx.conf文件,只需要在server中添加allow和deny的IP即可。
allow 和 deny 指令在 ngx_http_access_module 模块中。
两个指令分别表示允许或禁止源 IP 访问,用于对源 IP 做访问控制。
nginx 是按照自上而下的顺序进行匹配,匹配到一个就不往下继续了。
遇到 return 指令时 return 指令还是会生效;
IP可以是一个或者多个,也可以是一个IP段
二、配置示例
2.1、示例1:1个IP
server {
listen 80;
server_name localhost;
allow all;
deny 10.72.179.50;
error_page 403 /403.html;
}
其中all 表示允许所有;
上面这段的deny没有效果,因为【按照自上而下的顺序进行匹配,匹配到一个就不往下继续了】
所以正确的配置方法为
server {
listen 80;
server_name localhost;
deny 10.72.179.50;
allow all;
error_page 403 /403.html;
}
2.2、示例2:多个IP
server {
listen 80;
server_name localhost;
deny 10.72.179.50;
deny 10.72.179.51;
allow all;
error_page 403 /403.html;
}
2.3、示例3:IP地址段
server {
listen 80;
server_name localhost;
deny 10.72.179.0/24;
allow all;
error_page 403 /403.html;
}
另外需要注意,该配置修改需要重启Nginx服务器才能生效。nginx -s reload
版权归原作者 海阔天空在前走 所有, 如有侵权,请联系我们删除。