GCE (Google Compute Engine) для HTTP / HTTPS, с IPv6, но без разгрузки SSL - PullRequest
0 голосов
/ 28 ноября 2018

Я хотел бы запустить веб-сервер на Google Compute Engine, который будет доступен как через HTTP и HTTPS, так и через IPv6.Облако Google поддерживает только IPv6 в loadbalancer, поэтому мне нужно настроить его там.Мне также нужно позаботиться о своем собственном SSL (у меня есть для этого очень веские причины), поэтому я не могу использовать разгрузку SSL.

Поскольку я не использую разгрузку SSL, мне нужно использовать «TCP(proxy) "для HTTPS / port443 (в соответствии с https://cloud.google.com/load-balancing/docs/choosing-load-balancer, и я также потому, что не могу заставить его работать другим способом).

У меня работает порт 443, теперь мне нужнодобавить HTTP / port80.В настоящее время я пытаюсь настроить это с помощью веб-интерфейса.Я попытался:

  1. TCP (прокси): это не позволит мне выбрать порт 80
  2. TCP-LB: после настройки серверной части интерфейс не 'Я больше не упоминаю IPv6 и могу только создать новый IPv4 или выбрать внутренний IP.
  3. HTTP: это казалось хорошей идеей, но:
    • Если я использую существующую группу экземпляров и устанавливаюпорт "80", это также изменяет настройки бэкэнда для https на порт 80.
    • Если я введу "80, 443", то, кажется, случайным образом выбирает один из этих портов вместо того, на который пришел трафик.
    • Если я создаю новую группу экземпляров с тем же экземпляром в нем, я получаю сообщение об ошибке "экземпляр может принадлежать не более одной группе экземпляров с балансировкой нагрузки"

Как заставить https и http работать на IPv6 без разгрузки SSL?

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Да, я воспроизвел проблему на своем конце, и она не дает никакой возможности выбрать IPV6.

Что я выяснил после проведения некоторых исследований и подтверждения моей командой, что внешние IP-адреса назначеныЭкземпляры виртуальной машины GCP - это региональные внешние IP-адреса, которые могут быть только IPv4, но не IPv6.Мы поддерживаем IPv6 только для глобальных внешних IP-адресов, а глобальные внешние IP-адреса можно использовать только с одним из следующих балансировщиков нагрузки на уровне Premium: - HTTP (S) - SSL-прокси - TCP-прокси

Так что вам следуетбыть в состоянии частично выполнить то, что вы пытаетесь достичь - внешний IPv6-адрес для виртуальной машины, - поместив эту виртуальную машину за балансировщик нагрузки TCP Proxy, но только для HTTPS.Как вы знаете, TCP 80 отсутствует в списке поддерживаемых портов для балансировки нагрузки TCP Proxy, но он поддерживает TCP 443 и только завершает сеанс TCP, что должно позволить им завершать HTTPS на самой внутренней виртуальной машине.

Та же проблема связана с балансировкой нагрузки прокси-сервера SSL, поскольку она не поддерживает порт 80. Проблема в использовании балансировщика нагрузки HTTPS заключается в том, что его необходимо завершить на балансировщике нагрузки.Балансировщик нагрузки может по-прежнему взаимодействовать с внутренними виртуальными машинами через HTTPS, но балансировщик нагрузки все еще выполняет общедоступное завершение HTTPS.И это также не подходит для вас, так как вы не хотите выполнять разгрузку SSL.Таким образом, вывод заключается в том, что невозможно полностью использовать https и HTTP для работы на IPv6 без использования разгрузки SSL

0 голосов
/ 29 ноября 2018

На самом деле, существует ограничение на использование порта 80 в TCP Proxy Load Balancer.С учетом вышесказанного, LB TCP Proxy имеет только следующие порты, доступные как Target Proxy: - 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 5222

* 1002.* Таким образом, мы не смогли использовать целевой прокси-сервер TCP для портов 80

. Эта информация взята с этой страницы , где она также предоставляет обзор и понятия об этом типе балансировщика нагрузки.Обратите внимание, что в этом случае можно использовать порт 443.

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

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