我们有一个启用了 mod_cache/mod_disk_cache 的 Apache httpd。默认情况下,指令 CacheStaleOnError 处于激活状态。文档指出:
当 CacheStaleOnError 指令打开时,并且当缓存中有陈旧数据时,缓存将通过返回陈旧数据而不是 5xx 响应来响应来自后端的 5xx 响应。
这正是我们所期望的行为。
此外,当没有(过时的)缓存数据时,我们希望为特定请求提供自定义错误页面。因此,我们为 5xx 类的每个状态定义了一个 ErrorDocument。
由于我无法想出一个可靠的测试场景,我的问题是:当特定请求的缓存数据过时并且在请求后端时出现 5xx 错误时会发生什么?
httpd 会提供过时的数据吗?还是会提供已配置的自定义错误页面?优先级如何?