针对某些响应禁用nginx入口控制器中的缓存控制 [英] Disable cache control in nginx ingress controler for certain response
本文介绍了针对某些响应禁用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屋!
查看全文