2015-06-15 19 views
5

Ho un bilanciatore del carico HTTP e HTTPS su Goole Cloud. È possibile configurarlo per applicare (reindirizzare) tutte le connessioni a HTTPS?Il bilanciamento del carico di Google HTTP applica HTTPS

+0

Vedi http://serverfault.com/questions/733166/redirect-all-http- traffico-a-https-quando-con-il-https-load-balancer-on-googl. controlla l'intestazione 'X-Forwarded-Proto = 'http'' sul tuo servizio di backend e fai un reindirizzamento 301 a https. – Michael

risposta

4

Non al bilanciamento del carico a partire da giugno 2015.

In alternativa, è possibile configurare i server web di restituire 301 per tutte le richieste HTTP reindirizzamento alla versione HTTPS.

Per Apache (da 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> 

Per nginx (da 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

Grazie. Questo è quello che faccio già, ma volevo davvero che lb lo facesse per me. Spero che Google aggiunga questa funzionalità. – Upio

+0

Si sono verificati problemi con i controlli integrità predefiniti sul servizio di bilanciamento del carico HTTP. Ho una configurazione di configurazione simile con nginx e il controllo dello stato non funziona e quindi ricevo un errore del server 502 quando provo ad accedere al mio sito tramite il servizio di bilanciamento del carico. Se colpisco direttamente un vm, esso reindirizza correttamente a http quindi sono al 99% positivo, non è un problema di configurazione di nginx. –

+0

Ho impostazioni simili ma ho riscontrato un problema diverso. Quando accedo a http: // ... Vedo: _Il tuo browser ha inviato una richiesta che questo server non è riuscito a capire. Motivo: si sta parlando semplicemente di HTTP a una porta del server abilitata per SSL. Utilizza invece lo schema HTTPS per accedere a questo URL, per favore._ Sembra che il bilanciamento del carico di Google "catturi" il 301 e reindirizzi la richiesta http al mio endpoint https. Qualcuno ha una soluzione per questo? –

-3

Perché preoccuparsi di reindirizzare? Potresti facilmente creare una nuova regola di inoltro globale (SSL) e indirizzarla al tuo servizio di back-end.

Ad esempio, http://107.178.251.37/ punta al mio back-end HTTP e ho aggiunto un'altra regola di inoltro globale per renderlo SSL: https://107.178.240.233/.

+3

Perché non desidero consentire connessioni HTTP semplici. Il set che hai descritto è già quello che ho, ma voglio che i client vengano reindirizzati a https. Posso farlo dal mio server ma speravo che il lb potesse gestirlo per me. – Upio

Problemi correlati