针对某些响应禁用nginx入口控制器中的缓存控制 [英] Disable cache control in nginx ingress controler for certain response

查看:17
本文介绍了针对某些响应禁用nginx入口控制器中的缓存控制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有此入口配置,但所有html和json响应页面都不包含添加的标题:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: {{ $app }}-ingress
  labels:
    app: {{ $app }} 
    chart: chart-{{ $app }}
    app.kubernetes.io/managed-by: Helm
  annotations:
    meta.helm.sh/release-name: {{ $app }}
    meta.helm.sh/release-namespace: {{ .Release.Namespace }}
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: "{{ $proxy_body_size }}"
    nginx.ingress.kubernetes.io/proxy-read-timeout: "{{ $proxy_read_timeout }}"
    nginx.ingress.kubernetes.io/proxy-connect-timeout: "{{ $proxy_connect_timeout }}"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "{{ $proxy_send_timeout }}"
    nginx.ingress.kubernetes.io/proxy-buffer-size: "{{ $proxy_buffer_size }}"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    nginx.ingress.kubernetes.io/configuration-snippet : |
        if ($request_uri ~* .(html|json)) {
           add_header Cache-Control "no-cache,no-store";
        }
spec:
  tls:
    - hosts:
        - {{ $alias }}
  rules:
    - host: {{ $alias }}
      http:
        paths:
          - path: /(.*)
            backend:
              serviceName: {{ $app }}-service
              servicePort: http-back
我只想禁用对html和json内容响应的缓存控制。当我删除if($REQUEST_URI~*.(Html|json))条件时,所有响应都有添加的头。因此,这意味着配置代码段中的条件不正确。

您能帮忙吗?

推荐答案

我遇到了同样的问题,我的问题就是这样:

      if ($request_uri ~* .(?:html|json)$) {
        add_header Cache-Control "no-store,no-cache";
        add_header Pragma "no-cache";
      }

这篇关于针对某些响应禁用nginx入口控制器中的缓存控制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆