在它的文档中ngx_http_limit_req_module
说
客户端 IP 地址用作密钥。请注意,这里使用的是 $binary_remote_addr 变量而不是 $remote_addr,它允许将状态大小减少到 64 字节。一兆字节的区域可以保留大约 16,000 个 64 字节的状态。如果区域存储耗尽,服务器将向所有后续请求返回 503(服务暂时不可用)错误。
不幸的是,如果您不使用 IP 地址的二进制版本,它无法说明它将有多大。我需要使用$http_x_forwarded_for
作为关键,在这种情况下每个状态有多大?
这是一个有根据的猜测,而不是 100% 的知识。
IP 地址以二进制形式占用 4 个字节,因为它是一个 32 位整数。
文本格式的IP地址占15个字节(xxx.xxx.xxx.xxx),字符串需要结束分隔符,空字符。
因此我最好的猜测是 IP 地址需要 16 个字节而不是 4 个字节。在这种情况下,这意味着每个状态将占用 72 个字节而不是 64 个字节。
但是,根据内部实施情况,可能需要更多时间。
归档时间: |
|
查看次数: |
407 次 |
最近记录: |