使用ConfigMap为nginx入口禁用HSTS

问题描述 投票:0回答:1

我已经尝试了其他相关解决方案,但似乎无法正常工作,并且我确定这只是一个命名空间问题,因为这是我第一次使用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等所做的那样使用注释?

nginx kubernetes kubernetes-helm nginx-ingress
1个回答
0
投票

ConfigMap的名称必须与nginx-ingress控制器进程正在查找的名称匹配。

© www.soinside.com 2019 - 2024. All rights reserved.