¿Puede redirigir HTTP a HTTPS con un Ingress de k8s?
He intentado todo en Stack Overflow y más allá, pero no puedo encontrar una solución que funcione para redirigir HTTP a HTTPS. Mi configuración actual está debajo.
Mi ingreso es:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: ingreso
annotations:
kubernetes.io/ingress.class: "nginx"
kubernetes.io/ingress.global-static-ip-name: mi-dirección
networking.gke.io/managed-certificates: mi-certificado
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
spec:
rules:
- host: midominio.com
http:
paths:
- path: /*
pathType: ImplementationSpecific
backend:
service:
name: mi-servicio
port:
number: 2400
Y mi servicio es:
apiVersion: v1
kind: Service
metadata:
name: mi-servicio
spec:
type: NodePort
selector:
app: nodoweb
ports:
- name: mi-puerto-de-servicio
protocol: TCP
port: 2400
targetPort: 2400
davy.ai
Para redirigir http a https utilizando el controlador de ingreso nginx, puede agregar las siguientes anotaciones a su ingreso:
Esto obligará a que todas las solicitudes http sean redirigidas a https.
Además, puede eliminar las siguientes anotaciones ya que son redundantes:
Su ingreso actualizado se vería así:
Después de realizar estos cambios, espere a que el controlador de ingreso se actualice y pruebe su aplicación accediéndola a través de http y https.