Я работаю с приложением, развернутым на AWS EC2. Один экземпляр head, www.me.com, обеспечивает вход в систему и администрирование, так что пользователь может порождать экземпляр приложения. Новый экземпляр AWS EC2 запускается для запуска приложения, затем браузер пользователя перенаправляется на этот экземпляр (с длинным URL-адресом, заканчивающимся amazon aws .com), и приложение доступно, пока пользователь не закроет его (затем EC2 экземпляр остановлен).
Теперь wi sh, чтобы переместить приложение для использования SSL. Мы можем получить сертификат от какого-либо ЦС и отправить его на * .me.com. Вопрос в том, как использовать один и тот же сертификат для защиты экземпляров приложения?
Одна из идей заключается в использовании Elasti c IP - мы резервируем N IP и t ie N поддоменов (foo1 .me.com, foo2, ...) к этим. Затем мы запускаем каждый экземпляр приложения, связанный с одним из них, и направляем пользователя в связанный поддомен. Сертификат действителен, все хорошо. Я думаю, что это работает?
Проблема в том, что приложение должно масштабироваться до 1000 одновременных пользователей, но вполне может потратить большую часть времени, перебираясь среди нулевых пользователей, поэтому мы заплатим значительные штрафные затраты за резервирование неиспользованных пользователей. IP-адреса, и, кроме того, мы можем превысить N и вынуждены запретить доступ.
Возможно, проще было бы предоставить доступ к приложению, маршрутизируемому через головной сервер, www.me.com, используя любой из "a.me". .com "или" www.me.com/a ". Первое, я думаю, не работает, потому что для обновления пользователя необходимо было бы обновить записи DNS, что не может произойти достаточно быстро, чтобы предлагать их пользователю на лету. Последнее может сработать, но я не знаю веб-инфраструктуры достаточно хорошо, чтобы представить, как ее сконструировать. Даже если бы мы обслуживали только порт 80, и фактически мы также предоставляем услуги на других портах. Поэтому нам понадобится что-то вроде:
www.me.com/a:80 <--> foo.amazonaws.com:80
www.me.com/a:8001 <--> foo.amazonaws.com:8001
www.me.com/a:8002 <--> foo.amazonaws.com:8002
...
Мне кажется, есть два варианта: либо главный сервер, который обрабатывает все трафики c (под me.com и, следовательно, под сертификатом), и каким-то образом передает его экземплярам приложения или какому-либо методу, позволяющему пользователям подключаться непосредственно к экземплярам приложения, но таким образом, чтобы мы могли разумно управлять защитой этих подключений, используя один (или небольшое количество) сертификатов.
Кто-нибудь может подсказать, какой путь один из способов сделать это? Я предполагаю, что это не Маршрут 53, так как - опять же, это вещь DNS, с задержкой DNS. Если я не понял неправильно.
Спасибо.