Какое влияние оказывает SSL на то, как работает балансировка нагрузки? Я знаю, что вам нужно использовать липкие сессии, если вы решили не хранить информацию о сеансе в БД или Out of Process, но как это влияет на SSL?SSL и балансировка нагрузки
ответ
Чтобы уточнить, сеансы SSL/TLS не имеют ничего общего с сеансами HTTP. (Некоторые реализации могут использовать идентификатор сеанса SSL/TLS в качестве основы для поддержки сеансов HTTP, но это плохой дизайн, так как SSL/TLS может полностью изменять сеансы независимо от того, что делает HTTP).
С точки зрения балансировки нагрузки, вы получите несколько вариантов:
Используйте балансировки нагрузки, которое ваш SSL/TLS конечной точки. В этом случае балансировка нагрузки будет выполняться на уровне HTTP: клиент подключается к балансировщику нагрузки, а балансировщик нагрузки разворачивает соединение SSL/TLS, чтобы передать HTTP-контент (тогда ясно) своим работникам.
Используйте балансировщик нагрузки на уровне TCP/IP, который перенаправляет все TCP-соединение непосредственно на рабочий узел. В этом случае каждый рабочий узел должен иметь сертификат и закрытый ключ (что не обязательно является проблемой, если они управляются последовательно). Используя эту технику, балансировщик нагрузки вообще не выполняет никакой обработки HTTP (поскольку он не смотрит в соединение SSL/TLS): с одной стороны, это уменьшает обработку, выполняемую самим балансиром нагрузки, с другой стороны это мешает вам отправляться на конкретный рабочий узел на основе структуры URL, например. Оба метода имеют свои преимущества и недостатки.
Хороший ответ! Недостатком второго метода, который вы можете упомянуть, является то, что балансировщик, поскольку он не может видеть HTTP-запрос внутри всего этого SSL, не может добавить заголовок, указывающий реальный IP-клиент; поэтому на веб-сервере будет выглядеть так, как будто все запросы поступают от одного веб-клиента: IP-адрес самого балансира нагрузки. –
@Brandon Craig Rhodes, вы могли бы получить балансировку нагрузки, отправляя пакет, как если бы он исходил от первоначального клиента, как это делают обратные NAT. – Bruno
- true, но только в том случае, когда я модифицирую все серверы, чтобы использовать балансировщик нагрузки в качестве своего шлюза TCP, чтобы все эти пакеты, возвращающиеся к произвольным клиентским IP-адресам, проходили обратно через балансировщик. Насколько я знаю, это возможно только в том случае, если я фактически запускаю компьютеры в одной локальной сети, чтобы они имели доступ на уровне Ethernet к сетевым интерфейсам друг друга? (И поэтому не возможно с произвольными хостами от поставщика облачного сервера?) –
- 1. Kubernetes, GCE, балансировка нагрузки, SSL
- 2. Балансировка нагрузки и сеансы
- 3. AWS Beanstalk SSL Сбалансированная балансировка нагрузки
- 4. yii2 и балансировка нагрузки
- 5. сортировка и балансировка нагрузки
- 6. Когерентность и балансировка нагрузки
- 7. SignalR и балансировка нагрузки
- 8. Балансировка нагрузки и аутентификация
- 9. Обнаружение службы и балансировка нагрузки
- 10. Веб-сервер Apache Балансировка нагрузки
- 11. контекст multiprocessing.pool и балансировка нагрузки
- 12. Балансировка нагрузки JBoss и Apache
- 13. Отказоустойчивость и балансировка нагрузки - взаимоисключающие?
- 14. AWS ECS и балансировка нагрузки
- 15. Azure VMs и балансировка нагрузки
- 16. Балансировка нагрузки IIS и ASP.Net
- 17. Репликация индекса и балансировка нагрузки
- 18. Apache Camel и балансировка нагрузки
- 19. Apache Mod_JK и балансировка нагрузки
- 20. WebSockets и балансировка нагрузки, узкое место?
- 21. Балансировка нагрузки MySQL ndbcluster
- 22. Простая балансировка нагрузки
- 23. балансировка нагрузки по серверам
- 24. Балансировка сетевой нагрузки IIS
- 25. Node.js Балансировка нагрузки процессора
- 26. Magento - балансировка нагрузки AWS
- 27. Балансировка нагрузки WebLogic
- 28. Балансировка нагрузки ASP.Net
- 29. Балансировка нагрузки на Drupal
- 30. OrientDB 2.2.4 Балансировка нагрузки
нашел интересную ссылку http://wiki.metawerx.net/wiki/StickySessions –
появляется этот вопрос, чтобы быть вне темы, потому что речь идет не о программировании. Возможно, лучше спросить [Server Fault] (http://serverfault.com/) или [Webmaster Stack Exchange] (http://webmasters.stackexchange.com/). – jww