小编sha*_*ton的帖子

nginx在X-RateLimit-Remaining标头中设置limit_req的剩余计数

我实际上有点惊讶,经过几个小时的谷歌搜索我找不到任何东西,但问题如下:

我想让nginx充当我的API的限制器.

我的配置文件包含一个引用得很好的示例limit_req_zone:

limit_req_zone $binary_remote_addr zone=limit:2m rate=10r/m;

以及location包含预期的指令limit_req zone=limit nodelay;

我希望将nginx附加标头添加到X-RateLimit-RemainingX-RateLimit-Reset属性的响应消息中.基本上有nginx使用相同值的rate=10r/m填充X-RateLimit-Remaining和时间帧的活动计数来填充刷新前剩余的秒数.rate=10r/mX-RateLimit-Reset

http {
    limit_req_zone $binary_remote_addr zone=login:10m rate=2r/s;
    limit_req_status 429;
    limit_conn_status 429;

    server {
        listen       80;
        server_name  [removed];

        location / {
            limit_req zone=limit nodelay;

            proxy_pass http://reverse-proxy-example;
            add_header  X-RateLimit-Remaining [nginx variable?];
            add_header  X-RateLimit-Reset [nginx variable?]
        }
}
Run Code Online (Sandbox Code Playgroud)

思考?可能?愿意避免点击应用程序来获取这些数字.

nginx server devops

18
推荐指数
1
解决办法
874
查看次数

标签 统计

devops ×1

nginx ×1

server ×1