kubernetes - Kubernetes ingress-nginx 不返回 http 响应标头
问题描述
我遇到了一个问题,即 ingress-nginx(反向代理)没有从应用程序容器返回 http 响应标头(ETag)。
它工作正常,没有入口。
任何帮助将不胜感激。
以下是 Ingress yaml 文件的片段
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
解决方案
您可以添加此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 在反向代理配置中生成,但是如果需要,您可以从后端代码生成和管理。
推荐阅读
- java - Spring Cloud Gate 请求超时不适用于路径
- javascript - 需要帮助 jQuery 导航菜单
- c# - 结合列表日期时间
- android - 使用原始数据在正文中修改发布请求
- python - 如何保存 Tensorflow LinearClassifier 模型并将其转换为兼容 Tensorflow.js
- javascript - 为什么我的内部循环在第一次之后被跳过?
- error-handling - Snowflake - 处理错误时出错:String... is too long and will be truncated error
- mongodb - 无法识别的表达式“$first”
- python - 如何根据最接近的匹配有效地替换大型数据帧(100k+ 行)中的值?
- reactjs - 如何使用 React.memo 优化性能