Я настроил свой ELB так, чтобы он мог обслуживать ssl-страницы, поместив свои сертификаты в сам ELB. Скажем, ELB обслуживает запросы с www.example.com.
В то же время мне нужно использовать ssl вне ELB и обслуживать некоторый контент непосредственно с сервера, минуя ELB. В этом случае запросы отправляются на web.example.com.
как я могу это сделать и убедиться, что если ssl обслуживается ELB, выгружается с сервера?
Учтите, что мой веб-сервер - это nginx.
Спасибо, C
По возможности я бы избегал обхода ELB. Я бы также избегал необходимости того, чтобы конкретный URL-адрес обслуживался только одним хостом. Это антипаттерн, который создает хрупкие системы.
При этом я понимаю, что иногда это неизбежно. Если бы я создавал инфраструктуру для решения вашей проблемы, я бы использовал балансировщик нагрузки приложений и две целевые группы. Одна целевая группа будет включать в себя все хосты и будет местом назначения по умолчанию для ALB. Вторая целевая группа будет иметь только один зарегистрированный хост, и я бы использовал правило ALB, которое сопоставляло хост с «web.example.com», чтобы перенаправлять трафик в эту целевую группу.
Это сохраняет вашу архитектуру относительно чистой и позволяет вам вносить изменения в систему по мере развития приложения.
Используйте что-то вроде:
server {
listen 80;
...
}
server {
listen 443;
ssl on; # etc.
...
}
Направьте свой ELB на 80; выставьте свой web.example.com на 443. Готово! ... хотя не уверен, что вы поступаете правильно. Я бы пересмотрел вашу арку / стратегию для чего-то более разумного с точки зрения многоуровневости. Вы почти наверняка захотите избежать использования SSL на своем веб-сервере, если сможете.