scgi_no_cache

指令 `scgi_no_cache` 控制 SCGI 响应的服务器缓存行为。 — NGINX HTTP Core

scgi_no_cache
httpserverlocation
语法scgi_no_cache condition;
默认值none
上下文http, server, location
模块NGINX HTTP Core
参数1+

说明

在 `http`、`server` 和 `location` 上下文中使用 `scgi_no_cache` 指令,用于指定在何种条件下 SCGI (Simple Common Gateway Interface) 响应不应被缓存。你可以使用该指令来设置需要绕过缓存机制的特定请求条件,从而使针对特定请求的行为更加动态化。 该指令接受一个或多个参数,这些参数可以是变量或用于决定何时禁止缓存的条件。提供的每个条件都会被评估,如果任一条件满足,SCGI 响应将不会被存储在缓存中。此功能在响应可能不稳定或与用户相关的场景中特别有用,例如数据频繁更新或返回敏感信息时。 `scgi_no_cache` 指令的放置位置会影响其作用。当放在 `location` 块中时,仅对该 `location` 处理的请求生效。如果在 `server` 块中定义,则影响该 `server` 内的所有 `location`;若在 `http` 块中,则在全局范围内对服务器生效。因此,该指令根据应用需求提供了对缓存行为的灵活控制。

配置示例

server {
    location /example {
        scgi_pass 127.0.0.1:9000;
        scgi_no_cache $arg_nocache;
    }
}

请确保所指定的条件不会在某些响应需要缓存时无意中阻止缓存。

如果期望使用缓存,`scgi_no_cache` 指令配置错误可能会导致性能问题。

注意语法;不正确的条件可能会导致意外行为或错误。