首页 > 系统相关 >nginx 限流,并且返回json格式数据

nginx 限流,并且返回json格式数据

时间:2024-08-18 22:05:50浏览次数:8  
标签:zone req nginx json 限流 IP地址 503

 限流一般有三种: 计数器 、漏桶算法、令牌桶算

 

限流配置

http {
    
    limit_req_zone $binary_remote_addr zone=myRateLimit:10m rate=1r/s;
   ...

 

location / {
        limit_req zone=myRateLimit burst=1 nodelay;
     ...

 

第1个参数:limit_req_zone定义在http块中,$binary_remote_addr表示保存客户端IP地址的二进制形式。
第2个参数:Zone定义IP状态及URL访问频率的共享内存区域。zone=keyword标识区域的名字,以及冒号后面跟区域大小。16000个IP地址的状态信息约1MB,所以示例中区域可以存储160000个IP地址。
第3个参数:Rate定义最大请求速率。示例中速率不能超过每秒1个请求。 

 

超过限流,默认返回503状态

然后我们在503错误页面配置返回相应json或者html页面即可。这里我们返回json

    error_page 503 /503;
    location = /503 {
        default_type application/json;
        add_header Content-Type 'text/html; charset=utf-8';
        return 200 '{"code":"200,"msg":"太多请求了..."}';
    }

 

标签:zone,req,nginx,json,限流,IP地址,503
From: https://www.cnblogs.com/fyiyy/p/18366183

相关文章

  • MySQL中处理JSON数据案例示范和常见问题以及性能优化
    随着大数据技术的快速发展,数据格式和存储方式也变得越来越多样化。在业务系统中,很多数据经常以JSON格式存储。为了高效处理这些JSON数据,MySQL自5.7版本开始原生支持JSON数据类型,并在后续版本中不断扩展和优化相关功能。本文将以电商交易系统为示例,深入探讨MySQL在处理JSON数......
  • stream json output
    SummaryofStreamJSONparser通过分析Promptulate项目的issue,对问题进行了深入探讨并给出了相应的处理方案。本文将详细描述该问题的处理过程。issues目标原文如下Currently,wecannotenablestreamifsettingoutputschema,soNeedtobuildajsonparserto......
  • nginx配置下载服务器(具备权限验证)
    大多数场景中,下载可以使用nginx直接代理,但缺少权限验证,下述方式下载通过后端校验,成功后转发请求nginx进行下载操作。前端代码:window.location.href="http://192.168.80.128:8080/download_file?fileName=8042200341080001_01.zip";直接打开访问指定的下载文件路径(我是用请......
  • Json
    Jsonstringjson=@"{'Result':{'ResponseStatus':{'IsSuccess':true,'Errors':[],'SuccessEntitys':[{'Id......
  • Nginx
    Nginx的作用代理正向代理是代理客户端的,让你能正常访问目的服务器。与之相反,反向代理是代理服务器的,让大量的请求均衡地访问到某一台服务器上。动静分离在我们的软件开发中,有些请求是需要后台处理的;有些请求是不需要后台处理的,比如说css、js这些文件请求,这些不需要经过后台......
  • nginx源码之Docker镜像制作
    1.下载nginx-1.26.2源码,并解压nginx源码下载:https://nginx.org/download/nginx-1.26.2.tar.gzmkdirdockerbuild&&cd dockerbuild wget https://nginx.org/download/nginx-1.26.2.tar.gztar-xzvf nginx-1.26.2.tar.gz2.干货Dockerfile#编译基础环境准备阶段FROMre......
  • Nginx SSL证书部署
    简介本文介绍在Nginx服务器配置SSL证书,配置成功后即可通过HTTPS加密通道安全访问Nginx服务器环境Nginx+阿里云SSL证书下载证书此处以阿里云证书为例登录控制台->数字证书管理服务选择SSL证书在列表中找到要下载的证书,操作列单机下载选择Nginx服务器类型下载解......
  • 深度优化Nginx负载均衡策略,携手Keepalived打造高可用服务架构新纪元
     作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭:   云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客目录前言:让我们首先来谈谈容灾与备份策略:实验目标:七台虚拟机集群利用Nginx负载均衡与Keepalived共筑高可用......
  • jsonunit 比较jsondiff
    https://github.com/lukas-krecan/JsonUnitimportstaticnet.javacrumbs.jsonunit.assertj.JsonAssertions.assertThatJson;importstaticnet.javacrumbs.jsonunit.assertj.JsonAssertions.json;...//comparestwoJSONdocuments(notelenientparsingofexpected......
  • Nginx项目部署
    Nginx部署Django项目(基于centos7)一、安装Python(源码编译安装)下载PythonPython下载网址将Python源代码上传到服务器#scp文件服务器用户名@服务器IP:拷贝的文件存放路径scpD:\下载\Python-3.8.19.tgzremote-centos:/opt安装Python#安装Python依......