【问题标题】:Kubernetes ingress-nginx not returning http response headerKubernetes ingress-nginx 不返回 http 响应标头
【发布时间】:2020-12-22 13:17:50
【问题描述】:

我遇到了一个问题,即 ingress-nginx(反向代理)没有从应用程序容器返回 http 响应标头(ETag)。

没有入口也可以正常工作。

Missing http response header

任何帮助将不胜感激。

以下是Ingress yaml文件的sn-p

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ng-api-ngress
  namespace: ng-prod
  labels:
    app: numbergenerator
  annotations:
    #nginx.ingress.kubernetes.io/enable-cors: "true"
    nginx.ingress.kubernetes.io/cors-allow-headers: etag
    nginx.ingress.kubernetes.io/cors-expose-headers: etag
    #nginx.ingress.kubernetes.io/cors-allow-credentials: "true"
spec:
  rules:
  - host: kubernetes.docker.internal.api
    http:
      paths:
      - pathType: Prefix
        path: /
        backend:
          service:
            name: ng-backend
            port:
              number: 80

【问题讨论】:

    标签: kubernetes kubernetes-ingress


    【解决方案1】:

    你可以添加这个Nginx ingress注解:

    nginx.ingress.kubernetes.io/server-snippet: |
          etag on;
    nginx.ingress.kubernetes.io/configuration-snippet: |
          more_set_headers "server: hide";
    

    如果启用 Gzip,Nginx 入口将不会添加或传递 etag。

    据我所知,Etag 不会由 Nginx 在反向代理配置中生成,但是如果需要,您可以从后端代码生成和管理。

    【讨论】:

    • 嗨,Harsh Manvar,我在入口控制器配置映射中包含 use-gzip: "false" 并确认它现在工作正常
    • 嗨@user3187494你是如何在入口yml中禁用gzip的。你能分享一下sn-p吗
    猜你喜欢
    • 2020-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 2020-09-25
    相关资源
    最近更新 更多