У меня есть 2 виртуальные машины за балансировщиком нагрузки в Azure. Я создал новый сертификат SSL через Let's Encrypt на одной из виртуальных машин, используя домен, назначенный балансировщику нагрузки. Когда я подключаюсь к этой виртуальной машине напрямую через IP, я вижу, что сертификат загружен, но сейчас у меня возникают проблемы с маршрутизацией от трафика балансировщика нагрузки к виртуальной машине, веб-сайт просто не загружается.
Все работало нормально, прежде чем я добавил сертификат и правило в nginx для перенаправления 80 на HTTPS. Я добавил в подсистему балансировки нагрузки новое правило для маршрутизации данных из 443 в резервный пул 443 и новую проверку работоспособности для 443, но это не помогло.
Я читал, что загрузка сертификата непосредственно в балансировщик нагрузки возможна с помощью шлюза приложений Azure, но в этом случае мне нужно воссоздать свои виртуальные машины, чтобы поместить их в одну виртуальную сеть, чего я бы хотел избежать.
Можно ли маршрутизировать HTTPS-трафик с помощью классического балансировщика нагрузки. Обратите внимание: я могу настроить каждую виртуальную машину на использование одного и того же сертификата для получения трафика HTTPS на каждой виртуальной машине.
Балансировщик нагрузки Azure - это балансировщик уровня 4, который может балансировать трафик TCP и UDP, поэтому не поддерживает разгрузку SSL.
Шлюз приложений может балансировать на уровне 7, поэтому он может выполнять разгрузку SSL. Это означает, что вам нужно только загрузить сертификат в шлюз приложений.
Если вы хотите придерживаться LB, всем вашим виртуальным машинам потребуется сертификат. Вы должны иметь возможность балансировать на порте 443 без проблем. Вам понадобится правило балансировки и проверка работоспособности, и вам нужно будет разрешить трафик к 443 из Интернета в ваших группах безопасности сети.
Сравнение балансировщика нагрузки
AWS
Application Load Balancer - Layer 7 - HTTP, HTTPS
Network Load Balancer - layer 4 - TCP, UDP, TLS
Classic - Layer 4/7 - HTTP/HTTPS(layer 7), TCP, SSL/TLS(layer 4)
Лазурь
Load Balancer - Layer 4 - TCP and UDP
Application Gateway - Layer 7 - HTTP, HTTPS(support SSL)