Отключить HSTS для nginx -входа с помощью ConfigMap - PullRequest
0 голосов
/ 19 февраля 2020

Я пробовал другие связанные решения, но я не могу понять, как это работает правильно, и я уверен, что это просто проблема с пространством имен или что-то в этом роде, потому что это мой первый опыт использования ConfigMaps, но может кто-нибудь помочь мне устранить неполадки почему это не работает?

Вот мой вход:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: brushfire-ingress
  labels:
    helm.sh/chart: brushfire-0.1.0
    app.kubernetes.io/name: brushfire
    app.kubernetes.io/instance: brushfire
    app.kubernetes.io/version: "1.16.0"
    app.kubernetes.io/managed-by: Helm
  annotations:
    cert-manager.io/cluster-issuer: brushfire-issuer
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /$1
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
    - hosts:
        - "brushfire.online"
        - "*.brushfire.online"
      secretName: tls-secret
  rules:
    - host: "brushfire.online"
      http:
        paths:
          - path: /(.*)
            backend:
              serviceName: brushfire
              servicePort: 80
    - host: "*.brushfire.online"
      http:
        paths:
          - path: /(.*)
            backend:
              serviceName: brushfire
              servicePort: 80

И это установлено как часть диаграммы управления, установленной с --namespace jorin-ssl

ConfigMap, который я пробовал:

kind: ConfigMap
apiVersion: v1
metadata:
  labels:
    app: brushfire-ingress
  name: nginx-configuration
  namespace: ingress-nginx # I've also tried `jorin-ssl`
data:
  hsts: "false"

Но, в конце концов, HSTS всегда оказывается там:

$ curl -s -D- https://brushfire.online/ | grep -i Strict

возвращает

strict-transport-security: max-age=15724800; includeSubDomains

Для простоты я Я бы хотел сделать это без использования ConfigMap. Разве нет способа сделать это с аннотациями, как мы делаем с force-ssl-redirect et c?

1 Ответ

2 голосов
/ 21 февраля 2020

Имя ConfigMap должно совпадать с тем, что ищет процесс контроллера nginx -ingress.

Процесс nginx -ingress будет использовать аргумент --configmap в командной строке для задания имени. Эта опция будет доступна в контейнере spe c, включенном в ваш yaml развертывания.

Например, при развертывании руля используется полное имя контроллера для опции --configmap.

...