referer_hash_max_size
设置用于在 NGINX 中存储 referer 数据的哈希表的最大大小。 — NGINX HTTP Core
referer_hash_max_size
serverlocation
语法referer_hash_max_size size;
默认值32;
上下文server, location
模块NGINX HTTP Core
参数1
说明
`referer_hash_max_size` 指令在 NGINX 中用于定义用于存储来自传入请求的 referer 信息的哈希表的最大大小。该指令在内存管理和与 referer 处理相关的性能调优中起重要作用。当客户端发出请求时,NGINX 可以将其 referer 用于访问控制或记录目的。该哈希表本质上是 NGINX 在运行期间维护的一组已存储的 referer。 为 `referer_hash_max_size` 设置的值决定了哈希表可以容纳多少条条目。如果超过最大大小,NGINX 可能会开始移除使用最少的条目或阻止添加新条目,这可能会影响使用 referer 信息的应用。将表大小设置为合适的值可以帮助避免性能下降,尤其是在应用具有大量不同 referer 值时,因为这可确保查找保持高效。 该指令可以在 `server` 和 `location` 上下文中设置,允许基于不同的虚拟主机或特定 URL 路径对 referer 处理进行细粒度控制。建议通过分析访问日志并根据观测到的 referer 数据多样性调整该值,以优化内存使用并保持性能。
配置示例
http {
referer_hash_max_size 64;
}⚠
将值设置得非常低可能会导致合法的 referer 请求在超过存储限制时被忽略。
⚠
将此值增加过多可能会导致不必要的内存消耗。
⚠
请确保不要在不适当的上下文中设置此指令,以避免配置错误。