【问题标题】:kubernetes nginx ingress controller / caching static assetskubernetes nginx 入口控制器/缓存静态资产
【发布时间】:2018-06-23 01:44:38
【问题描述】:

我对通过在 nginx 入口控制器后面运行的应用程序返回的图像有疑问。一旦访问,它们总是返回 200 而不是预期的 304。

四处挖掘,我发现了在服务器中添加特定块的能力;所以在 metadata > annotations 下添加了以下内容:

 ingress.kubernetes.io/server-snippets: |
   location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
     expires 30d;
     add_header Pragma public;
     add_header Cache-Control "public";
   }

问题仍然存在,所以仍然获得永久 200; "ssh'ing" 进入 nginx pod 并在创建的 nginx.conf 上做一个猫,我没有看到这个块出现在任何地方

所以我有点迷失了如何改进它。我正在使用kube-lego,但没有发现它是否会在这里产生影响

【问题讨论】:

标签: caching nginx kubernetes etags


【解决方案1】:

如果其他人偶然发现了这个(将来可能是我),注释是nginx.ingress.kubernetes.io/server-snippet

【讨论】:

    【解决方案2】:

    在 nginx-0.9.0-beta.16 中添加了对 server-sn-ps 注解的支持。 将你的入口控制器镜像升级到quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.9.0-beta.16

    【讨论】:

    • humm... 设法使用 quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.9.0-beta.17 进行部署。我确实看到了 ingress.kubernetes.io/configuration-snippet 中添加的内容,但没有看到 ingress.kubernetes.io/server-snippets 中添加的内容。有什么想法吗?