You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Nginx基础限流?Node.js API部署后限流规则不生效求助

Nginx限流配置失效问题及解决方案

我正在为部署在DigitalOcean Droplet上、基于Node.js开发的API测试基础Nginx限流配置,预期当客户端每分钟请求超过1次(测试用低阈值)时返回503错误,但实际客户端可无限制发起请求。

初始失败配置尝试

我先后尝试了两种配置方式均未生效:

  • 第一种:在nginx.conf的http块中添加如下配置:
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

server {
    location / {
        limit_req zone=one burst=5;
    }
  • 第二种:将上述配置单独编写http、server块,添加到/etc/nginx/sites-available/default文件中。
    我已参考Nginx官方限流指南与ngx_http_limit_req_module模块文档,仍未解决问题。

最终解决配置

修改/etc/nginx/sites-available/default的配置后问题解决,正确配置如下:

主上下文配置

# Rate Limiting
limit_req_zone $binary_remote_addr zone=by_ip:10m rate=7r/s;

server上下文嵌套的location上下文配置

server {
        root /var/www/html;
        server_name <SERVER NAMES>;
        location / {
                limit_req zone=by_ip;
                proxy_pass http://localhost:<PORT VALUE>;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}

内容的提问来源于stack exchange,提问作者eest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 20:27:02