0

我在 Kong 有一个注册服务,目前正在尝试设置代理缓存插件。

当缓存控制设置为 false 时,插件本身可以正常工作,但是当我启用它时,X-Cache-Status 标头始终是 Bypass。

插件配置如下所示:

  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 插件并在那里使用标头,但似乎没有任何效果。

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

4

1 回答 1

0

您已设置选项

cache_control: true

所以 Kong 将尊重RFC7234中定义的 Cache-Control 行为

您需要在上游答案中有一个缓存标头。或者您应该将其设置为 false

于 2021-12-02T13:11:08.097 回答