集美阅读大全是一个以文章句子为主题的在线阅读网站。内含有各种经典好文章,爱情美文,诗歌散文,情感句子说说,范文资料等。读好文章,尽在集美阅读大全!!!
当前位置:集美阅读大全 >互联网 >建站 > 正文

Nginx何防止流量攻击,大部分程序员都收藏了…

两种实现方式分别是基于Ehcache和Redis的session管理策略。

大家都知道服务器资源有限的,但是客户端来的请求是无限的(不排除恶意攻击), 为了保证大部分的请求能够正常响应,不得不放弃一些客户端来的请求,所以我们会采用Nginx的限流操作, 这种操作可以很大程度上缓解服务器的压力, 使其他正常的请求能够得到正常响应。

Nginx何防止流量攻击,大部分程序员都收藏了...

如何使用Nginx实现基本的限流,比如单个IP限制每秒访问100次。通过Nginx限流模块,我们可以设置一旦并发连接数超过我们的设置,将返回503错误给客户端。这样可以非常有效的防止CC攻击。再配合 iptables防火墙,基本上CC攻击就可以无视了。

如何使用

conf配置

  1. #统一在http域中进行配置
  2. #限制请求
  3. limit_req_zone $binary_remote_addr $uri zone=api_read:20m rate=100r/s;
  4. #按ip配置一个连接 zone
  5. limit_conn_zone $binary_remote_addr zone=perip_conn:10m;
  6. #按server配置一个连接 zone
  7. limit_conn_zone $server_name zone=perserver_conn:100m;
  8. server {
  9.  listen 80;
  10.  server_name test.domain.com;
  11.  index login.do;
  12.  location / {
  13.  #请求限流排队通过 burst默认是0
  14.  limit_req zone=api_read burst=5;
  15.  #连接数限制,每个IP并发请求为2
  16.  limit_conn perip_conn 2;
  17.  #服务所限制的连接数(即限制了该server并发连接数量)
  18.  limit_conn perserver_conn 1000;
  19.  #连接限速
  20.  limit_rate 100k;
  21.  proxy_pass http://test; 
  22.  }
  23. }
  24. upstream report {
  25.  fair;
  26.  server 172.16.0.10:8882 weight=1 max_fails=2 fail_timeout=30s;
  27.  server 172.16.0.10:8881 weight=1 max_fails=2 fail_timeout=30s;
  28. }

 

配置503错误

默认情况,超出限制额度,将会报503错误,提示:

  1. 503 Service Temporarily Unavailable
  2. The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. Sorry for the inconvenience.
  3. Please report this message and include the following information to us.
  4. Thank you very much!

这样显示没毛病,但是不够友好,这里我们自定义503错误。

  1. error_page 500 502 503 504 /50x.html;
  2. location = /50x.html {
  3.  root html;#自定义50X错误
  4. }

 

配置说明

limit_conn_zone

是针对每个IP定义一个存储session状态的容器。这个示例中定义了一个100m的容器,按照32bytes/session,可以处理3200000个session。

limit_rate 300k;

对每个连接限速300k. 注意,这里是对连接限速,而不是对IP限速。如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate×2。

burst=5;

这相当于在检查站req旁边放5个座位。如果某个请求当时超过速度限制被拦了,请他在空座位上坐着,等排队,如果检查站空了,就可以通过。如果连座位都坐满了,那就抱歉了,请求直接退回,客户端得到一个服务器忙的响应。所以说burst跟request_rate一点关系都没有,设成10000,就是1万个请求可以等着排队,而检查站还是1秒钟放行5个请求(龟速)。而且也不能一直排队,所以nginx还设了超时,排队超过一定时间,也是直接退回,返回服务器忙的响应。

以上配置Nginx需要配置以下模块:

ngx_http_limit_conn_module (static)

ngx_http_limit_req_module (static)

执行命令 nginx -V 就可以检查到是否有安装。

80%的人都看过的文章

  • 高性能 Web 服务器 Nginx 1.14.2 稳定版发布
  • 高性能Web服务器Nginx 1.15.8主线版发布
  • 高性能Web服务器 Nginx 1.15.11 发布
  • 两大常用 Web 服务器:Apache 和 Nginx 有什么区别?
  • 轻量级Web服务器Nginx 1.15.2 主线版发布
  • Nginx主线版1.15.1发布,修复bug并新增随机负载均衡
  • nginx 安全问题致使 1400 多万台服务器易遭受 DoS 攻击
  • 高性能Web服务器 Nginx 主线版 1.17.0 发布

课后答案张九龄《望月怀远》阅读答案及全诗翻译赏析

望月怀远张九龄海上生明月,天涯共此时。情人怨遥夜,竟夕起相思。灭烛怜光满,披衣觉露滋。不堪盈手赠,还寝梦佳期。注释⑴怀远:怀念远方的亲人。⑵最前面两句:辽阔无边的大海上升起一轮明月,使人想起了远在天涯……
2023-11-22 04:53暂无评论阅读详情

课后答案王安石《次韵唐公三首其三旅思》阅读答案

次韵唐公三首其三旅思王安石此身南北老,愁见问征途。地大蟠三楚,天低入五湖。看云心共远,步月影同孤。慷慨秋风起,悲歌不为鲈②。注:①张壤,字唐公,北宋嘉佑六年契丹国母生辰使,王安石友人。②《晋书&mid……
2023-11-22 04:52暂无评论阅读详情

笔记心得各级干部学习执法为民心得体会

  “各级干部都要牢固树立全心全意为人民服务的思想和真心实意对人民负责的精神,做到心里装着群众,凡事想着群众,工作依靠群众,一切为了群众。要坚持权为民所用,情为民所系,利为民所谋,为群众诚……
2023-11-22 04:12暂无评论阅读详情

笔记心得寒假大学生社会实践心得体会

  自从走进了大学,就业问题就似乎总是围绕在我们的身边,成了说不完的话题。在现今社会,招聘会上的大字报都总写着“有经验者优先”,可还在校园里面的我们这班学子社会经验又会拥有多少……
2023-11-22 04:08暂无评论阅读详情

协议书济南市某美容院转让协议第2篇

  __________美容院根据中华人民共和国国务院劳动法规和________市私营企业劳动管理实施办法,结合本美容院经营的具体所需今制订此劳动合同书。  双……
2023-11-22 02:36暂无评论阅读详情

剧本劳模宣传短剧剧本《阿咪也想当劳模》

  1、机械厂门卫处,日,外。  清早,机械厂班长李玉伟开着别克赛欧小汽车驶进厂区,门卫室内的保安一边按开电动门,一边朝李玉伟摆手。  李玉伟:(摇下车窗,笑着打招呼)小秦,早。  保安小秦:(笑着)……
2023-11-22 02:11暂无评论阅读详情

教程灰雀说课稿

灰雀说课稿  灰雀说课稿(一):  《灰雀》说课稿  一、说教材  《灰雀》是义务教育课程标准实验教科书,小学语文第五册第二单元的一篇讲读课文。这篇课文记叙了列宁在莫斯科郊外养病期间爱护灰雀的故事。列……
2023-11-22 00:41暂无评论阅读详情

课件“吴隐之字处默,濮阳鄄城人”阅读答案及原文

吴隐之字处默,濮阳鄄城人。美姿容,善谈论,博涉文史,以儒雅标名。弱冠而介立,有清操,虽儋石无储,不取非其道。事母孝谨,及其执丧,哀毁过礼。与太常韩康伯邻居,康伯母,贤明妇人也,每闻隐之哭声,辍餐投箸,……
2023-11-22 00:38暂无评论阅读详情

标签