Nginx服务器如何实现通过ip和user_gent限制访问

这篇文章将为大家详细讲解有关Nginx服务器如何实现通过ip和user_gent限制访问,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联公司是一家以成都网站建设、网页设计、品牌设计、软件运维、营销推广、小程序App开发等移动开发为一体互联网公司。已累计为小搅拌车等众行业中小客户提供优质的互联网建站和软件开发服务。

DDOS攻击是大规模访问站点经常会遇到的问题,它是指有人通过程序恶意刷站点的某些页面,导致站点响应缓慢或者直接拒绝服务。

这种情况可以通过分析nginx的access日志发现,存在大量相同ip或者user_agent的请求,我们可以根据请求的相似性,对于这些访问的请求,直接在nginx层面上过滤掉。

通过ip限制访问

Nginx中访问控制模块相关文档

http://nginx.org/en/docs/http/ngx_http_access_module.html

访问控制可以通过deny指令来拒绝访问,allow指令允许访问。

当有多个deny和allow规则时,匹配到对应的规则就跳出。

拒绝固定ip

deny 192.168.1.12;

拒绝ip网段

deny 192.168.1.0/24;

只允许内网访问

allow 192.168.1.0/24;
deny all;

通过user_agent限制访问

Nginx没有专门针对user_agent的限制指令,user_agent在nginx中可以通过$http_user_agent变量访问到,使用if指令对user_agent进行正则匹配,对于匹配到的规则,拒绝访问即可。

nginx中对if指令介绍的比较详细的在rewrite模块中

http://nginx.org/en/docs/http/ngx_http_rewrite_module.html

通过user_agent限制Jmeter测试工具的访问

if ($http_user_agent ~ "^Apache.*Java"){
  return 403;
}

关于“Nginx服务器如何实现通过ip和user_gent限制访问”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


网页标题:Nginx服务器如何实现通过ip和user_gent限制访问
网站链接:http://hbruida.cn/article/pciipj.html