Динамическое выделение SSL в GCP HTTP (s) балансировщик нагрузки уровня 7

Я изучаю GCP, и мне нравится, как он позволяет разработчику играть с такой дорогостоящей инфраструктурой. до сих пор я многому научился. Я больше не новичок, и у меня есть этот случай, для которого я не могу найти документы или примеры, или я могу думать в неправильном направлении.

Я хочу создать решение для хостинга с автоматическим масштабированием, в котором пользователи смогут:

  1. Зарегистрироваться
  2. Создайте несколько веб-сайтов [эти веб-сайты в основном являются временными, где пользователь может определять определенные поля, и веб-сайт отображается определенным образом | пользователям не разрешено загружать файл, а только некоторые записи данных]
  3. На веб-сайте пользователь может подключиться к домену [поместить запись DNS «A» в свой домен]
  4. После этого платформа автоматически предоставляет SSl, и веб-сайт запускается. [что-то вроде базы огня]

Я мог бы легко создать такой проект на одном сервере со следующей конфигурацией [пропустил простые шаги, такие как авторизация пользователя и т. Д.]:

  1. Я использую ubunutu 16.04 в качестве типа моей машины с оперативной памятью 4 ГБ и постоянным диском 10 ГБ
  2. Затем я устанавливаю [пакет для управления node.js]
  3. после этого я устанавливаю конкретную версию node.js, используя nvm
  4. Я написал простой пакет javascript, в котором я использую экспресс-сервер для ответа на запросы клиента с помощью некоторого html
  5. для управления ssl я использую letsencrypt's certbot упаковка
  6. я использую pm2 для запуска файла javascipt как службы в фоновом режиме

После того, как я смог выполнить эту задачу, я мог видеть, что все работает так, как я хочу.

затем я начал изучать балансировщики нагрузки GCP, там я узнал о 4-х и 7-уровневых LB и реализовал несколько тестов hello world [с использованием сценариев запуска] во всех возможных конфигурациях, например

  • 7 слой http
  • 7 слой https
  • 4-х слойный внутренний tcp
  • 4-х слойный внутренний ssl

Вот основная проблема, с которой я столкнулся: я не могу найти способ динамически выделить SSL для входящего запроса к балансировщику нагрузки.

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

Я могу ошибаться в понимании концепций. Пожалуйста, помогите мне решить проблему. я хочу построить firebase-hosting cloneна моем собственном. приветствуется любой ответ 🙏🙏🙏

1 ответ

Один из способов сделать это - обновить ваш JS-скрипт, чтобы сгенерировать управляемый Google сертификат для каждого нового домена через gcloud:

      gcloud compute ssl-certificates create CERTIFICATE_NAME \
    --description=DESCRIPTION \
    --domains=DOMAIN_LIST \
    --global

а затем примените его к балансировщику нагрузки:

      gcloud compute target-https-proxies update TARGET_PROXY_NAME \
    --ssl-certificates SSL_CERTIFICATE_LIST \
    --global-ssl-certificates \
    --global

Имейте в виду, что балансировщику нагрузки может потребоваться от 5 до 20 минут, чтобы начать использовать новые сертификаты.

Вы можете найти больше информации здесь .

Другие вопросы по тегам