Назад | Перейти на главную страницу

Входящий корневой путь не перенаправлен на HTTPS, несмотря на `ssl-redirect = true`

Вот мой ingress.yml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    kubernetes.io/ingress.class: azure/application-gateway
    appgw.ingress.kubernetes.io/backend-path-prefix: /
    appgw.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
    - hosts:
      - my.company.com
      secretName: my
  rules:
  - host: my.company.com
    http:
      paths:
      - path: /*
        backend:
          serviceName: my-gui-svc
          servicePort: 80
      - path: /svc1/*
        backend:
          serviceName: my-svc1-svc
          servicePort: 80
      - path: /svc2/*
        backend:
          serviceName: my-svc2-svc
          servicePort: 80

Вот резонанс от curl на одном из некорневых маршрутов:

C:\>curl http://my.company.com/svc1/
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>Microsoft-Azure-Application-Gateway/v2</center>
</body>
</html>

И вот оно для корневого правила:

C:\>curl http://my.company.com/foo
<!doctype html>
<html lang="en">

<head>
    <meta charset="utf-8">
...

Я также попытался поиграть с порядком, в котором перечислены правила, например, поместив корневой путь в конец, но это не имело значения.

Это результат kubectl describe ingress:

C:\>kubectl describe ingress
Name:             my-ingress
Namespace:        default
Address:
Default backend:  default-http-backend:80 (<none>)
TLS:
my terminates my.company.com
Rules:
Host                  Path  Backends
----                  ----  --------
my.company.com
                        /*         my-gui-svc:80 (10.0.0.28:80)
                        /svc1/*    my-svc1-svc:80 (10.0.0.61:80)
                        /svc2/*    my-svc2-svc:80 (10.0.0.77:80)
Annotations:
appgw.ingress.kubernetes.io/backend-path-prefix:   /
appgw.ingress.kubernetes.io/ssl-redirect:          true
kubectl.kubernetes.io/last-applied-configuration:  {"apiV...
kubernetes.io/ingress.class:  azure/application-gateway
Events:                         <none>

Кроме того, когда я изучаю правила на портале Azure, я вижу следующее:

(строки имени / сайта на картинке были изменены в целях безопасности)

Что я делаю не так?