auth_digest_shm_size
设置用于摘要认证存储的共享内存区的大小。
Digest Authentication for NGINX
·
httpserver
语法auth_digest_shm_size size;
默认值4m (4 megabytes)
上下文http, server
参数1
说明
NGINX 中的 auth_digest_shm_size 指令决定为存储与摘要认证相关的状态信息而分配的共享内存大小。该内存用于处理认证请求、存储用户凭据以及诸如认证尝试次数和过期时间等元数据。默认情况下,如果未显式设置,共享内存大小初始化为 1024 千字节,可根据预期的用户或请求数量进行调整,从而在高负载场景下可能提升性能。
该指令在 http 和 server 上下文中定义,提供配置灵活性。配置时需以字节为单位指定大小;例如,指定 256m 会分配 256 兆字节的共享内存。大小应与预期负载和唯一用户数相匹配,以避免耗尽分配的共享内存。如果共享内存过小,可能导致认证失败或由于在删除条目时频繁进行内存清理而增加延迟。
共享内存的初始化和分配在 NGINX 配置阶段进行。该指令会触发创建一个共享内存区,NGINX 可在其中存储与用户相关的数据并高效地处理请求管理。正确设置该指令的大小对于确保摘要认证期间的无缝用户体验至关重要,尤其是在并发访问受保护资源频繁的高流量网站上。
配置示例
http {
auth_digest_shm_size 16m;
server {
...
}
}⚠
将大小设置得太小可能导致认证失败或由于频繁的清理操作而造成性能下降。
⚠
忽视高流量站点的内存分配考虑可能会在用户认证方面引发严重问题。请根据用户数量分配足够的空间。