运行 Kubernetes 在本地通过 Minikube 总是 returns 304 未修改资源

Running Kubernetes locally via Minikube always returns 304 not modified resource

我正在使用 Nginx 入口控制器将流量定向到特定服务,尽管目前只有一个。该服务指向一个 Node.js 应用程序,并且从服务器 html returned 始终是 304 未修改。有没有人知道我如何 return 200 和防止缓存?

这是我的 Ingress 设置:

apiVersion: networking.k8s.io/v1beta1 # for versions before 1.14 use extensions/v1beta1
kind: Ingress
metadata:
  name: kludge-ingress
  namespace: kludge
  annotations:
    # use the shared ingress-nginx
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
    - host: kludge.local
      http:
        paths:
          - path: /
            backend:
              serviceName: kludge-front-end
              servicePort: 80

服务:

apiVersion: v1
kind: Service
metadata:
  name: kludge-front-end
  namespace: kludge
spec:
  type: NodePort
  selector:
    name: kludge-front-end
  ports:
    - name: http
      protocol: TCP
      nodePort: 30080
      port: 80
      targetPort: 3000

部署:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kludge-front-end
  namespace: kludge
spec:
  replicas: 3
  selector:
    matchLabels:
      name: kludge-front-end
  template:
      metadata:
        namespace: kludge
        labels:
          name: kludge-front-end
      spec:
        containers:
          - name: kludge-front-end
            image: gibson445/kludge-front-end
            ports:
              - containerPort: 3000
            imagePullPolicy: Never

很有可能您实际上希望 configuration-snippet 添加 header Cache-Control.

示例:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: myingress
  namespace: mynamespace
  annotations:
    nginx.ingress.kubernetes.io/configuration-snippet: |
      add_header Cache-Control "max-age=0, no-cache, no-store, must-revalidate";