Перенаправьте весь Трафик HTTP к HTTPS при использовании HTTP (S) Подсистема балансировки нагрузки на Google Compute Engine

Мне настраивали Выравнивание нагрузки HTTP/HTTPS на Google Compute Engine с 2 Глобальными Передающими Правилами (HTTP и HTTPS). Каждое правило указывает на серверную службу с протоколом HTTP.

Я хочу все запросы к http://* перейти в https://*.

Поскольку подсистема балансировки нагрузки говорит с серверными службами по HTTP, я не думаю, что могу заставить nginx на серверной службе передавать a обратно 301.

Я попробовал дюжину маленьких тонких настроек на Google, вычисляют, и они все заканчивают с Google, вычисляют возврат a 502.

Я уверен, что кто-то еще настроил это прежде. Любые подсказки или указатели в правильном направлении очень ценятся.

18
задан 2 November 2015 в 02:29
3 ответа

У нас есть аналогичная настройка с использованием балансировщика нагрузки HTTP / HTTPS, и нам удалось принудительно настроить HTTPS. Это невозможно напрямую из балансировщика нагрузки, но вы можете настроить его из своей серверной службы. Балансировщик нагрузки Google Cloud установит X-Forwarded-Заголовок Proto http со значением http или https. Вы проверяете этот заголовок в своей серверной службе (в нашем случае Varnish, но это также можно сделать в Nginx), и если значение равно http, вы отправляете обратно 301.

19
ответ дан 2 December 2019 в 20:25

Сегодня я столкнулся с этой проблемой и смог решить ее, используя балансировку нагрузки TCP. Если вам не нужны опции специфического балансировщика нагрузки HTTP/HTTPS, возможно, вы можете использовать TCP Load Balancer (без SSL) для получения трафика как на порт 80, так и на порт 443. Для трафика с порта 80 вы можете отправить обратно 301.

.
1
ответ дан 2 December 2019 в 20:25

В настоящее время это можно сделать непосредственно из балансировки нагрузки HTTP(S). Google Cloud выпустил поддержку перезаписи и перенаправления (с апреля 2020 г.).

Прочитайте эту статью, чтобы узнать, как настроить:

https://cloud.google.com/load-balancing/docs/https/setting-up-traffic-management#console Подробнее об этой функции :

https://cloud.google.com/load-balancing/docs/features#routing_and_traffic_management

2
ответ дан 19 May 2020 в 18:23

Теги

Похожие вопросы