您的位置 首页 > 数码极客

『如何限制ip连接数』iptables限制ip连接数…

nginx限制

Nginx限制爬虫

修改 nginx.conf,禁止网络爬虫的 ua,返回 403,具体配置如下:

server{ listen 80; server_name 127.0.0.1; # 添加如下内容即可防止爬虫 if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") { return 403; } }

Nginx限制浏览器访问

限制浏览器访问:

if ($http_user_agent ~* "Firefox|MSIE") { return 403; }

Nginx限制IP访问

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

Nginx限制IP访问配置

屏蔽单个ip访问

# 格式: deny ip; deny 123.68.23.5;

允许单个ip访问

# 格式: allow ip; allow 123.68.25.6;

屏蔽所有ip访问

deny all;

允许所有ip访问

allow all;

屏蔽ip段访问

# 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;

配置说明

  1. 可新建一个配置文件,如 blockip.conf。在其中编写相关的 ip 限制语句,然后在 nginx.conf 中加入如下配置:# 配置ip限制策略
    include blockip.conf;
  1. nginx 会根据配置文件中的语句,从上至下依次判断。因此,写在前面的语句可能会屏蔽后续的语句。除部分 ip 白名单外,屏蔽所有 ip 的错误示例:deny all; # 该语句已经禁止所有ip的访问,后续的配置不会生效
    allow 123.45.25.6;
    allow 123.68.52.125;
    allow 123.125.25.106;正确示例:# 允许部分ip访问
    allow 123.45.25.6;
    allow 123.68.52.125;
    allow 123.125.25.106;
    # 禁止其余ip访问
    deny all;
  2. 屏蔽策略文件可以放在 http, server, location, limit_except 语句块中,我们可以根据需要合理的配置。

放置位置

效果

http

nginx 中所有服务起效

server

指定的服务起效

location

满足的 location 下起效

limit_except

指定的 http 方法谓词起效

Nginx限制IP访问频率

限制所有单个ip的访问频率

http中的配置

http { #$limit_conn_zone:限制并发连接数 limit_conn_zone $binary_remote_addr zone=one1:10m; #limit_req_zone:请求频率 #$binary_remote_addr:以客户端IP进行限制 #zone=one:10m:创建IP存储区大小为10M,用来存储访问频率 #rate=10r/s:表示客户端的访问评率为每秒10次 limit_req_zone $binary_remote_addr zone=one2:10m rate=10r/s; }

server配置

server { listen 80; server_name localhost; location / { #限制并发数2 limit_conn one1 2; #burst:如果请求的频率超过了限制域配置的值,请求处理会被延迟 #nodelay:超过频率限制的请求会被延迟,直到被延迟的请求数超过了定义的阈值,这个请求会被终止,并返回503 limit_req zone=one2 burst=10 nodelay; root html; index index.html index.htm; } }

访问白名单的配置

http中的配置

http { # geo:指令定义了一个白名单$limited变量,默认值为1,如果客户端ip在上面的范围内,$limited的值为0 geo $limited{ default 1; 10.0.0.140 0; #把10.0.0.140设置为白名单 10.0.0.141 0; #白名单ip,可继续添加 } #使用map指令映射搜索引擎客户端的ip为空串,如果不是搜索引擎就显示本身真是的ip #这样搜索引擎ip就不能存到limit_req_zone内存session中,所以不会限制搜索引擎的ip访问 map $limited $limit { 1 $binary_remote_addr; 0 ""; } limit_conn_zone $limit zone=one:20m; limit_req_zone $limit zone=one2:20m rate=10r/s; }

server配置

server { listen 80; server_name localhost; location / { limit_conn one 2; limit_req zone=one2 burst=10 nodelay; root html; index index.html index.htm; } }

本文参考:嗨客网)

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何限制ip连接数,iptables限制ip连接数,windows限制ip连接数,服务器限制单ip连接数”边界阅读