Estoy tratando de enrutar todo el tráfico HTTP a HTTPS . Tengo un recurso de ingreso de ALB y sigo la guía aquí https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/tasks/ssl_redirect/#how-it-works pero no funciona. Cuando trato de acceder a http://www.myhost.in , permanece con http pero no redirige a https
a continuación se muestra mi archivo de recursos de ingreso
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: eks-learning-ingress namespace: production annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/certificate-arn: arn878ef678df alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}' labels: app: eks-learning-ingress spec: rules: - host: www.myhost.in http: paths: - path: /* backend: serviceName: eks-learning-service servicePort: 80Cualquier ayuda en esto sería realmente genial, gracias.
Para cualquiera que tropiece con esta publicación. Me faltaba agregar esto como mis rutas http. Tenga en cuenta que esta debe ser la primera ruta especificada.
- path: /* backend: serviceName: ssl-redirect servicePort: use-annotationUna vez que agregué esta redirección comenzó a funcionar.
Entonces, la configuración final en cuestión debería verse así:
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: eks-learning-ingress namespace: production annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/certificate-arn: arn878ef678df alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}' labels: app: eks-learning-ingress spec: rules: - host: www.myhost.in http: paths: - path: /* backend: serviceName: ssl-redirect servicePort: use-annotation - path: /* backend: serviceName: eks-learning-service servicePort: 80En caso de que alguien más esté configurando un clúster con una versión de API más nueva; apiVersion: networking.k8s.io/v1 , donde la sintaxis es diferente, este es el camino a seguir:
- path: / pathType: Prefix backend: service: name: ssl-redirect port: name: use-annotation Nota: path no debe contener un comodín, ya que está utilizando pathType: Prefix que no podrá configurar el ALB.