ajp_cache_key

指令 `ajp_cache_key` 定义了 NGINX 中来自 AJP 后端响应的缓存键。

语法ajp_cache_key line;
默认值none
上下文http, server, location
参数flag

说明

指令 ajp_cache_key 允许 NGINX 用户指定构成 AJP 协议响应缓存键的组成部分。该指令让您可以控制在缓存响应时应考虑请求的哪些部分,这对不同请求可能产生相同响应的场景至关重要。对于依赖于用户特定数据(例如 cookies)的应用,这种灵活性尤其重要。默认情况下,缓存键不包含主机名,这在使用子域的环境中可能导致缓存冲突。

要配置合适的缓存键,该指令接受一个基于变量的字符串,允许包含请求头、请求 URI,甚至 cookie。例如,配置如 ajp_cache_key "$host$request_uri$cookie_user"; 包括了主机名、请求 URI 和用户特定的 cookie。这可以确保不同用户的响应被正确缓存,而不会与可能仅在 URL 结构上部分相同但上下文不同的其他响应混淆。

配置示例

location / {
    ajp_pass tomcats;
    ajp_cache_key "$scheme$host$request_uri";
}

在子域配置中省略 $host 会导致缓存冲突。

使用过于宽泛的缓存键可能会因缓存条目增加而导致内存使用过高。

← 返回所有指令