expires

'expires' 指令控制 NGINX 中对指定资源的 'Expires' 和 'Cache-Control' HTTP 头的自动设置。 — NGINX HTTP Core

expires
httpserverlocationif in location
语法expires time | epoch | max;
默认值none
上下文http, server, location, if in location
模块NGINX HTTP Core
参数1-2

说明

'expires' 指令用于为 NGINX 提供的静态资源设置过期时间。通过定义资源被视为有效的时长,它有助于浏览器缓存并通过减少发送到服务器的请求数量来优化加载时间。该指令接受一个时间值作为参数,可以用秒(例如 '30s')、分钟(例如 '5m')、小时(例如 '12h')或天(例如 '1d')来指定。还有额外选项,可指定 'max' 表示无限期过期,或 'epoch' 将其设置为过去的时间。 设置后,'expires' 指令会为客户端请求自动生成相应的响应头。它可以在多个上下文中配置,包括 'http'、'server' 和 'location'。值得注意的是,它也可以在 location 块内的 'if' 语句中使用以获得更细粒度的控制。通过在不同上下文中使用多个 'expires' 指令,可以针对不同类型的资源定制缓存策略,从而确保静态文件得到高效提供。

配置示例

location /images {
    expires 30d;
}

在不适当的上下文中使用 'expires' 可能导致意外行为。

不了解 'expires' 与 'cache-control' 响应头之间的区别,可能会导致缓存策略上的混淆。

确保 'expires' 不与 NGINX 中的其他缓存配置冲突。