Kong 代理缓存插件 - X-Cache-Status 在启用 cache_control 时总是绕过

Kong proxy cache plugin - X-Cache-Status is always Bypass when cache_control is enabled

我在 Kong 注册了服务,目前正在尝试设置 proxy-cache 插件。

当缓存控制设置为 false 时,插件本身工作正常,但是当我启用它时,X-Cache-Status header 总是绕过。

插件配置如下所示:

  plugins:
  - name: proxy-cache
    service: echo
    config: 
      response_code
      - 200
      - 301
      - 404
      request_method:
      - GET
      - HEAD
      content_type:
      - text/plain
      - application/json
      - application/json; charset=utf-8
      - text/plain; charset=utf-8
      cache_ttl: 300
      strategy: memory
      cache_control: true
      memory:
        dictionary_name: kong_db_cache

请求如下所示:

curl --location --request GET 'http://localhost:8000/echo' --header 'Cache-Control: public, max-age=20'

我正在尝试不同的 Cache-Control 值,还注册了 request-transformer 插件并在那里玩 headers,但似乎没有任何效果。

以前有人遇到过这个问题吗?我几乎被困在这里,非常欢迎任何建议。

您已设置选项

cache_control: true

因此 Kong 将尊重 RFC7234

中定义的 Cache-Control 行为

您需要将 header 缓存到上游答案中。 或者你应该将它设置为 false