Google Cloud Engine: как маршрутизировать трафик через порт 80 при использовании балансировщика нагрузки HTTPS - PullRequest
0 голосов
/ 23 декабря 2018

Я использую балансировщик нагрузки HTTPS для своего веб-сайта, и он хорошо работает, если я посещаю: https://www.vietnamspotlight.com.

Однако, если я посещаю URL с http, то есть http://vietnamspotlight.com,, тогдаЯ всегда получаю сообщение об ошибке от Google, в котором говорится, что запрос не найден.

Затем я попытался обновить балансировщик нагрузки, добавив новый IP-адрес, порт и протокол для использования с HTTP в сеансе Настройка внешнего интерфейса .,См. Изображение ниже для справки (IP-адреса для HTTP и HTTPS были удалены из образа):

Load balancer settings

После этого я переключаюсь на конфигурацию DNSпровайдера домена и попытался добавить еще A записи, которые указывают на новый IP для обработки запросов по протоколу HTTP.Это означает, что я использую две записи A на одном и том же хосте @, каждая из которых указывает на свое значение, одну для HTTP и одну для HTTPS.См. Изображение ниже для справки (значения были изменены на поддельные IP-адреса):

DNS settings

Тем не менее это не работает.

1 Ответ

0 голосов
/ 23 декабря 2018

Вы неправильно настраиваете балансировщик нагрузки.Вы должны использовать один и тот же TCP / IP-адрес как для HTTP, так и для HTTPS.

Настраивая два разных IP-адреса для вашего сайта в DNS, вы фактически предоставляете клиентам два IP-адреса на выбор.В зависимости от клиента и DNS-сервера ваши клиенты будут переходить на один IP-адрес или другой в стиле циклического перебора.Это, конечно, не то, что вам нужно.

DNS-серверы не знают различий между HTTP и HTTPS при принятии решений о разрешении DNS.DNS-серверы переводят доменные имена в IP-адреса.Протокол (HTTP / HTTPS) не является частью решения о переводе.

Это означает, что вам нужно настроить Google Load Balancer (HTTP (S) Load Balancing - Layer 7) с двумя интерфейсами.Первый интерфейс - HTTP, второй - HTTPS.Оба используют один и тот же IP-адрес.

ВАЖНО:

Важным шагом является создание статического IP-адреса как глобального до создания балансировщика нагрузки.Если вы создадите IP-адрес на этапе создания первого веб-интерфейса, вы не сможете выбрать тот же IP-адрес при создании второго веб-интерфейса.

Удалите неправильную запись на DNS-сервере.Возможно, вам придется немного подождать, пока TTL (Time-To-Live) не истечет время ожидания для ваших записей DNS.В ожидании перейдите к следующему шагу.

Вернитесь в консоль Google Cloud.Выберите балансировщик нагрузки.Удалите свой HTTP-интерфейс.Сохраните балансировщик нагрузки.Теперь вернитесь и настройте новый веб-интерфейс для HTTP, выбрав тот же IP-адрес, который вы использовали для веб-интерфейса HTTPS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...