Existe-t-il un moyen de forcer une mise à niveau SSL pour les connexions entrantes sur l'équilibreur de charge d'entrée? Ou si cela n'est pas possible avec, puis-je désactiver le port: 80? Je n'ai pas trouvé de bonnes pages de documentation qui décrivent une telle option dans le fichier YAML. Merci beaucoup d'avance!
https://github.com/kubernetes/ingress-gce#frontend-https
Vous pouvez bloquer HTTP via l'annotation kubernetes.io/ingress.allow-http: "false"
ou redirigez HTTP vers HTTPS en spécifiant un backend personnalisé. Malheureusement, GCE ne gère pas encore la redirection ou la réécriture sur la couche L7 pour vous. (voir https://github.com/kubernetes/ingress-gce#ingress-cannot-redirect-http-to-https )
L'annotation a changé:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: test
annotations:
kubernetes.io/ingress.allow-http: "false"
spec:
...
Voici le changement d'annotation PR: https://github.com/kubernetes/contrib/pull/1462/files
Si vous n'êtes pas lié au contrôleur d'entrée GCLB, vous pouvez consulter le contrôleur d'entrée Nginx . Ce contrôleur est différent du contrôleur intégré de plusieurs façons. Vous devez d'abord et avant tout en déployer et gérer un par vous-même. Mais si vous êtes prêt à le faire, vous bénéficiez de ne pas dépendre du GCE LB (20 $/mois) et d'obtenir le support pour IPv6/websockets.
documentation indique:
Par défaut, le contrôleur redirige (301) vers HTTPS si TLS est activé pour cette entrée. Si vous souhaitez désactiver ce comportement globalement, vous pouvez utiliser
ssl-redirect: "false"
dans la carte de configuration NGINX.
La récente .9.0-beta. est livrée avec une annotation supplémentaire pour appliquer explicitement cette redirection:
Forcer la redirection vers SSL à l'aide de l'annotation
ingress.kubernetes.io/force-ssl-redirect