В настоящее время у меня есть один сервер со стеком Django. У меня есть nginx с сертификатом SSL для HTTPS. Я хочу масштабировать веб-слой, поместив балансировщик нагрузки nginx вперед и добавив IP-адреса в конфигурацию модуля upstream, когда я раскручиваю новые капли, чтобы справиться с нагрузкой. Довольно просто настроить, но я не могу понять, как заставить его работать с включенным SSL. Я попробовал следующее:
Включен SSL как в дроплете балансировщика нагрузки, так и в каждой из дроплетов веб-приложения. Это не работает, потому что сертификат SSL в каплях веб-приложения был создан с определенным доменным именем. Балансировщику нагрузки не удается подключиться к веб-приложению, поскольку он не может проверить сертификат SSL, поскольку использует IP-адрес, а не полное доменное имя, например, 1.2.3.4, а не web1.example.com.
Затем я попытался включить SSL только на балансировщике нагрузки. Балансировщик нагрузки может связываться через HTTP с каплями веб-приложения, но тогда этот трафик не будет защищен в общедоступной сети.
Я в недоумении. Не могли бы вы дать совет, как действовать? Нужно ли настраивать частную сеть между балансировщиком нагрузки и каплями веб-приложения? Если так, то как? Существуют ли другие методы, использующие SSL-сертификаты или настройки конфигурации DNS?
Я использую Ubuntu 12.10 x64. Не на AWS, поэтому нет доступа к VPC или группам безопасности. Все виртуальные машины имеют общедоступный IP-адрес, поэтому необходимо сделать соединение между балансировщиком нагрузки и узлами веб-приложений максимально безопасным.
Любая помощь будет оценена!