configurationNGINX以响应一定比例的传入请求

configurationNGINX以响应一定比例的传入请求,第1张

概述configurationNGINX以响应一定比例的传入请求

我想限制传入的请求到一个Nginx路由。

当前的configuration与此类似:

upstream up0 { server xxxx:1111; keepalive 1024; } server { location /auc { limit_req zone=one burst=2100; proxy_pass http://up0/auc; proxy_http_version 1.1; proxy_set_header Connection ""; } }

我想控制在上游服务器上看到的请求数量。 对于所有其他请求,我希望Nginx响应204响应。

通过传入请求的百分比进行控制也是可行的。

AFNetworking 2.2使用自签名证书的SSL固定

两个文档根与Nginx和fastcgi

Nginx作为Nexus的反向代理服务器 – 无法在Docker环境中连接

用Nginx作为非root用户安装Passenger

Docker分离进程和源代码控制

谢谢。

Nginx中$ 0是什么? (mod_rewrite的)

在写入访问日志时,Nginx禁用或解码url编码

EC2网站架构devise

我怎样才能创build一个file_put_contents具有组写入权限的文件?

如何在Nginx上部署Spring Web应用程序?

Nginx使用limit_req_zone和limit_req来限制请求非常有效。

首先创建一个已经定义了限制的区域。 对于全局限制,区域的关键字可以是静态的,也可以使用源IP地址等变量作为区域的关键字,这对于通过特定的ip进行限制是有用的,或者只是对站点上较慢的页面进行限制。 速率可以按每秒或每分钟的请求来定义。

limit_req_zone key zone=name:size rate=rate;

接下来,创建一个将该区域应用于传入请求的规则。 可以首先使用location指令将规则仅应用于特定的请求,或者可以是服务器范围的。 突发选项将排队指定数量的请求超过速率限制,并有助于节流短突发流量,而不是返回错误。

limit_req zone=name [burst=number] [nodelay];

超过速率限制的流量的默认响应代码为503(服务不可用)。 可以设置204(不含内容)的备用代码。

limit_req_status code;

把所有这一切放在一起有效的配置,将位置块中的所有请求限制为每秒10个缓冲区,以便在返回错误之前排队多达50个请求,并返回指定的204响应,如下所示:

http { .... limit_req_zone $hostname zone=limit:20m rate=10r/s; limit_req_status 204; server { ... location / { ... limit_req zone=limit burst=50; } } }

在实践中,服务器块可能会在http块中包含的不同文件中。 为了清晰起见,我只是浓缩了它们。

要测试,请使用泛滥工具或设置请求率= 10r / m(每分钟10次)并使用浏览器。 检查日志并监视被拒绝请求的数量非常有用,以便您了解对用户的任何影响。

可以组合多个limit_req_zone规则来指定松散的全局限制,然后更严格的每个源IP限制。 这将能够在更广泛的用户群之前锁定最持久的少数用户。

总结

以上是内存溢出为你收集整理的configurationNGINX以响应一定比例的传入请求全部内容,希望文章能够帮你解决configurationNGINX以响应一定比例的传入请求所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1269003.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存