Я хочу установить терминатор / балансировщик нагрузки SSL перед моей службой tcp, я подумал
1) Stunnel (странная проблема с производительностью, я скомпилировал его без libwrap, pthreads, но все еще довольно медленный для большинства моих клиентов)
2) Nginx (я не хочу / не нуждаюсь в HTTP-привязке / обработке)
3) HAProxy (без завершения SSL)
Итак, есть ли другое решение?
Stunnel будет для вас правильным вариантом. Вы можете исключить HAProxy из списка, потому что он не поддерживает SSL.
Вы можете использовать stunnel вместе с балансировщиком нагрузки уровня 4, таким как LVS, для балансировки нагрузки.
Pound SSL - хорошее решение: http://www.apsis.ch/pound/
Обратите внимание на комментарий на домашней странице о доступности PRCE и tcmalloc из пакета Google perftools для улучшенная производительность.
Хотя Pound является обратным прокси-сервером и имеет другие функции, такие как балансировка нагрузки, они не являются обязательными. Вы можете просто использовать его для расшифровки SSL и пересылки на локальный веб-сервер, если хотите.
С июня 2014 года HAProxy обеспечивает встроенную поддержку SSL версии 1.5.x и выше.
Вариантов завершения SSL довольно много: Stunnel, Stud, Pound, NGINX и HAProxy. (пожалуйста, добавьте комментарий, если есть другие подходящие предложения)
Пока доступна поддержка, доступные функции сильно различаются. Я не могу найти ни списков функций, ни сравнения где-либо в Интернете.
Использование NGINX для завершения SSL предоставляет хорошие варианты конфигурации в отношении конфигурации SSL. Видеть http://nginx.com/resources/admin-guide/nginx-ssl-termination/ .
HAProxy больше подходит для более надежной настройки, требующей надежной балансировки нагрузки. Видеть https://serversforhackers.com/haproxy-ssl-terutation-pass-through/ & http://blog.haproxy.com/2012/09/10/how-to-get-ssl-with-haproxy-getting-rid-of-stunnel-stud-nginx-or-pound/ .