У меня следующая конфигурация среза линода
NB <-----> web1 + web2 + web3 Вот скриншот конфигурации с linode:
Нам нужен NB в режиме http, поскольку нам нужно несколько вещей, которые не дает простой режим tcp.
Теперь моя проблема: когда я запускаю что-то вроде webpagetest.org для целей тестирования, я всегда получаю сообщение о том, что в моем домене работают статические ресурсы без сообщений поддержки активности. В режиме TCP поддержка активности в порядке.
Я так понимаю, что haproxy работает как nodebalancer в линоде. Я просто хотел знать, "это известное ограничение NB / haproxy, или я что-то делаю не так ????"
Если я правильно понимаю ваш вопрос, вы говорите, что NodeBalancer основан на HAProxy. Я не могу найти никакой документации, подтверждающей это.
Версии HAProxy до 1.4 не поддерживали HTTP Keep-Alive. Версия 1.4 была выпущена в феврале 2010 года. Если NodeBalancer действительно построен на HAProxy и они использовали версию 1.3, то он не будет поддерживать HTTP Keep-Alive между клиентом и NodeBalancer.
Client Keep-Alive полезен, потому что он экономит одно время приема-передачи на HTTP-запрос. Комбинация Keep-Alive и конвейерной обработки может доставить множество запросов за два периода приема-передачи (один для настройки TCP, один для группы HTTP-запросов), а не два на ресурс без них. Это упрощенный взгляд на вещи, но это хорошее практическое правило.
То, что очень немногие прокси-серверы поддерживают, - это поддержка активности между прокси и внутренними серверами. Это невидимо со стороны клиента, но приводит к передаче нескольких дополнительных пакетов. Это не так важно, как поддержка активности на стороне клиента, поскольку время приема-передачи между прокси и внутренним сервером обычно очень мало.
Согласно Linode Node Balancer документация
TCP: используйте режим TCP для балансировки служб, отличных от HTTP.
HTTP: HTTP KeepAlives принудительно отключены в режиме HTTP.
HTTPS: если выбран HTTPS, ваш NodeBalancer завершит SSL-соединения. Как и в режиме HTTP, KeepAlives будет отключен, а IP-адрес клиента будет указан в заголовке X-Forwarded-For.