Ingress игнорирует apache httpd кеширование - PullRequest
0 голосов
/ 05 августа 2020

Я запускаю модуль на основе apache -httpd в нашем ранчо (Kubernetes). Этот httpd обслуживает некоторые файлы stati c html + javascript + css. Далее я поместил файл .htaccess в папку htdocs. Этот файл определяет, как должно выполняться кэширование. Мой файл index.html вообще не должен кэшироваться. Браузеры должны загружать этот файл каждый раз и не кэшировать его. Но файлы js (которые указаны в файле index. html) должны быть кэшированы. Я могу это сделать, потому что каждое имя файла. js files содержит ha sh. Если содержимое файла. js изменяется, имя файла изменяется при его компиляции.

Содержимое файла .htaccess:

<FilesMatch "\.(html)$">
  FileETag None
  <IfModule mod_headers.c>
    Header unset ETag
    Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires "Wed, 12 Jan 1980 05:00:00 GMT"
  </IfModule>
</FilesMatch>
<FilesMatch "\.(js|css)$">
  FileETag None
  <IfModule mod_headers.c>
    ExpiresActive On
    ExpiresDefault "access plus 2 weeks"
  </IfModule>
</FilesMatch>

Теперь у меня есть Ingress, который помещается перед Развертыванием (и соответствующей службой):

---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: gateway-ui
  namespace: ui
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
spec:
  rules:
    - http:
        paths:
          - path: /ui(/|$)(.*)
            backend:
              serviceName: ui
              servicePort: 80

Проблема . Если я запустил httpd- docker iamge на своем ноутбуке, кеширование будет работать отлично. Но если модуль развернут в Kubernetes, похоже, что конфигурация кеша моего httpd игнорируется. Я полагаю, что Ingress каким-то образом нарушает кеширование.

Вопрос : Что нужно сделать, чтобы мой Ingress использовал «ту же» конфигурацию кеширования, что и в моем развертывании httpd?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...