2016-05-03 5 views
12

Gibt es eine Möglichkeit, ein SSL-Upgrade für eingehende Verbindungen auf dem Ingress Load-Balancer zu erzwingen? Oder wenn das nicht möglich ist, kann ich Port 80 deaktivieren? Ich habe keine guten Dokumentationsseiten gefunden, die eine solche Option in der YAML-Datei beschreiben. Vielen Dank im Voraus!So erzwingen Sie SSL für Kubernetes Ingress auf GKE

+0

Was verstehen Sie unter „SSL für eingehendes Upgrade bedeuten Verbindungen ". Könnten Sie bitte etwas ausarbeiten? Könnten Sie bitte näher erläutern, was Sie zu tun versuchen? –

+0

Ich möchte Verbindungen zu http Port 80 in Richtung https Port 443 umleiten, idealerweise am Kubernetes Ingress Load Balancer - wenn das überhaupt möglich ist. Wenn nicht, was wäre die beste Strategie - Load Balance sowohl 80 und 443, und setzen Sie ein Haproxy hinter dem LB, um den Forward zu tun? –

Antwort

17

https://github.com/kubernetes/ingress-gce#frontend-https

Sie können HTTP-Block durch die Anmerkung kubernetes.io/ingress.allow-http: "false" oder umleiten HTTP auf HTTPS durch einen benutzerdefinierten Backend angeben. Leider behandelt GCE die Umleitung oder das Neuschreiben auf der L7-Ebene noch nicht direkt für Sie.

+0

Vielen Dank, auch für den Link! Wird eine geplante Funktion umgeleitet? –

+1

Ist dies der Grund, warum, wenn ich 301 in meinem Nginx-HTTP-Server-Block zu HTTPS zurückgebe, führt dies zu einer 301-Schleife. –

3

Wenn Sie nicht auf die GCLB Ingress-Controller gebunden werden Sie einen Blick auf die Nginx Ingress Controller haben könnte. Dieser Controller unterscheidet sich in mehrfacher Hinsicht von dem eingebauten Controller. In erster Linie müssen Sie eine selbst bereitstellen und verwalten. Aber wenn Sie dazu bereit sind, erhalten Sie den Vorteil, dass Sie nicht von der GCE LB (20 $/Monat) abhängig sind und Unterstützung für IPv6/Websockets erhalten.

Die documentation Zustände:

standardmäßig zu HTTPS der Controller Umleitungen (301), wenn TLS für das Eindringen aktiviert ist. Wenn Sie dieses Verhalten global deaktivieren möchten, können Sie ssl-redirect: "false" in der NGINX-Konfigurationszuordnung verwenden.

Die kürzlich veröffentlichte 0.9.0-beta.3 kommt mit einer zusätzlichen Anmerkung für diese Umleitung explizit erzwingen:

Force SSL-Umleitung der Anmerkung mit ingress.kubernetes.io/force-ssl-redirect

Verwandte Themen