Как отключить автоматическое перенаправление https для контроллера входящего трафика nginx?

Я включил надстройку ingress для своего локального мини-куба и создал настраиваемый модуль, службу и вход. После этого я добавил входной хост в свой файл hosts, где он указывает на IP-адрес minikube, чтобы я мог связаться с ним с помощью своего браузера. При доступе к URL-адресу браузер сообщает мне, что из-за заголовка «HTTP Strict Transport Security (HSTS)» я был перенаправлен на https-версию этого URL-адреса. Firefox и Chrome не позволяют мне продолжить, потому что они говорят, что сертификат (поддельный сертификат Kubernetes Ingress Controller) действителен только для URL-адреса ingress.local. С IE11 я могу пойти на риск и продолжить. Что я могу сделать, чтобы меня не перенаправили на https? Мне не нужен https, только http. Вот yaml-файлы моей службы и моего входа.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foobar-ingress
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
    kubernetes.io/ingress.class: "nginx"
spec:
  rules:
  - host: foobar.app
    http:
      paths:
      - path: /
        backend:
          serviceName: foobar-frontend
          servicePort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: foobar-frontend
spec:
  ports:
  - port: 80
    targetPort: 8080
  selector:
    app: foobar-frontend

person Matthew Darton    schedule 19.05.2019    source источник


Ответы (2)


Вам нужно отключить ssl-redirect в карте конфигурации Nginx (обычно называемой nginx-configuration в пространстве имен ingress-nginx) следующим образом:

kind: ConfigMap
metadata:
  labels:
    app: ingress-nginx
  name: nginx-configuration
  namespace: ingress-nginx
data:
  ssl-redirect: "false"

После этого вам необходимо перезапустить модуль входа Nginx.

Также вам может потребоваться очистить кеш перенаправления браузера: Как долго Chrome запоминает 301 редирект?

person Vasili Angapov    schedule 20.05.2019

Кажется, я уже был прав. Браузер просто жестоко кэшировал заголовок HSTS, поэтому меня всегда перенаправляли. Даже очистка кеша не вышла. Поэтому мне пришлось изменить свой вход на другое имя, и тогда это сработало.

person Matthew Darton    schedule 21.05.2019
comment
Возможно, вам придется намеренно удалить полученную запись HSTS в нижней части chrome: // net-internals / # hsts - person Collin Allen; 14.04.2021