2015-06-15 8 views
5

Ich habe einen HTTP und HTTPS Load Balancer auf Goole Cloud. Ist es möglich, alle Verbindungen zu HTTPS zu erzwingen (umleiten)?Google HTTP Load Balancing erzwingen HTTPS

+0

Siehe http://serverfault.com/questions/733166/redirect-all-http- Traffic-to-https-bei-Verwendung des-https-Load-Balancer-on-Googl. Suchen Sie nach 'X-Forwarded-Proto = 'http'-Header in Ihrem Back-End-Dienst und führen Sie eine 301-Umleitung zu https durch. – Michael

Antwort

4

an dem Load Balancer Nicht Juni als 2015

Als Alternative können Sie Ihren Web-Server konfigurieren 301 für alle HTTP-Anfragen an Rückkehr in der HTTPS-Version umgeleitet wird.

Für Apache (von https://wiki.apache.org/httpd/RedirectSSL):

NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerName www.example.com 
    Redirect permanent/https://www.example.com/ 
</VirtualHost> 

<VirtualHost _default_:443> 
    ServerName www.example.com 
    DocumentRoot /my/document/root 
    SSLEngine On 
    # .. etc . 
</VirtualHost> 

Für nginx (von https://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom):

server { 
    listen [::]:80; 
    return 301 https://$host$request_uri; 
} 
+0

Danke. Das mache ich schon, aber ich wollte wirklich, dass das lb es für mich macht. Ich hoffe, dass Google diese Funktionalität hinzufügt. – Upio

+0

Probleme mit den standardmäßigen Integritätsprüfungen in Ihrem HTTP-Lastenausgleich aufgetreten. Ich habe ein ähnliches Konfigurations-Setup mit nginx, und die Integritätsprüfung schlägt fehl und deshalb erhalte ich einen 502 Server-Fehler, wenn ich versuche, über den Load-Balancer auf die my-Site zuzugreifen. Wenn ich eine VM direkt treffe, wird sie korrekt auf http umgeleitet, also bin ich zu 99% positiv, es ist kein Problem mit der nginx-Konfiguration. –

+0

Ich habe Einstellungen nur so, aber ein anderes Problem. Wenn ich auf das http: // ... zugreife, sehe ich: _Ihr Browser hat eine Anfrage gesendet, die dieser Server nicht verstehen konnte. Grund: Sie sprechen einfachen HTTP zu einem SSL-fähigen Server-Port. Verwenden Sie stattdessen das HTTPS-Schema für den Zugriff auf diese URL. _ Sieht so aus, als ob Google Load Balancer den 301 "fängt" und die http-Anfrage an meinen https-Endpunkt umleitet. Hat jemand eine Lösung dafür? –

-3

Warum stören Umleitung? Sie können problemlos eine neue globale Weiterleitungsregel (SSL) erstellen und auf Ihren Back-End-Dienst verweisen.

Zum Beispiel, http://107.178.251.37/ verweist auf mein HTTP-Backend und ich habe eine weitere globale Weiterleitungsregel hinzugefügt, um SSL zu machen: https://107.178.240.233/.

+3

Weil ich keine einfachen HTTP-Verbindungen zulassen möchte. Das Setup, das Sie beschrieben haben, ist bereits das, was ich habe, aber ich möchte, dass Clients auf https umgeleitet werden. Ich kann es von meinem Server aus tun, aber ich hatte gehofft, dass der Ib es für mich handhaben könnte. – Upio