Nginx:通过内容长度避免缓存 FPM 响应

Nginx:通过内容长度避免缓存 FPM 响应

我有一个奇怪的上游应用程序(不受我控制),它间歇性地响应不完整的页面和 200.。这导致缓存中出现空白页。例如,如果内容长度低于 5kb,有没有办法避免缓存 fastcgi/fpm 后端响应?

我猜测可以使用 Lua 按照这样的思路来实现,但我并不完全确定 :)

location ~ .php$ {
 [..]
 body_filter_by_lua_block {
  if ngx.var.uri == "/" then
   if ngx.var.http_content_length < 5120 then
     ngx.status = 503
     return ngx.exit(503)
   fi
  fi
 }
}

感谢大家!

相关内容