ssl между участниками балансировки?
У меня Apache работает на одной машине в качестве балансировщика нагрузки:
<VirtualHost *:443>
ServerName ssl.example.com
DocumentRoot /home/example/public
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/example.crt
SSLCertificateKeyFile /etc/pki/tls/private/example.key
<Proxy balancer://myappcluster>
BalancerMember http://app1.example.com:12345 route=app1
BalancerMember http://app2.example.com:12345 route=app2
</Proxy>
ProxyPass / balancer://myappcluster/ stickysession=_myapp_session
ProxyPassReverse / balancer://myappcluster/
</VirtualHost>
Обратите внимание, что балансировщик принимает запросы через порт 443 SSL, но затем связывается с членами балансировщика через не-ssl порт. Возможно ли, чтобы пересылка членам балансировщика была также по SSL?
Если так, то это лучший / рекомендуемый способ?
Если да, должен ли я иметь еще один сертификат SSL для каждого участника балансировки?
Ли SSLProxyEngine
Директива имеет какое-либо отношение к этому?
3 ответа
Да, вы на правильном пути. Вы захотите настроить прослушиватель SSL на своих внутренних устройствах.
Для них вам понадобятся сертификаты, но, вероятно, они могут быть только самоподписанными, если вы не установите SSLProxyVerify
Команда Apache не заботится об их аутентификации (конечно, вы можете проверить ее, если захотите)
И да, установить SSLProxyEngine on
и измените свой ProxyPass
директивы к https
и правильный новый порт.
Я обнаружил, что если вы уравновешиваете SSL с Tomcat без SSL, то приложение Tomcat получает базовый набор для URL-адреса не-ssl, что, по-видимому, вызывает проблемы со смесью содержимого SSL и не-SSL. Передача SSL в SSL Tomcat работает нормально.
Вы не хотите делать это. Ваш балансировщик Apache HTTPD должен работать в той же локальной сети, что и Tomcats, поэтому SSL не требуется, и в любом случае Apache HTTP в любом случае должен быть конечной точкой SSL для клиента, а также доверенной конечной точкой SSL для Tomcat. Там нет смысла во второй части этого.
Вы можете настроить Apache HTTPD SSL так, чтобы передавать клиентские сертификаты и т. Д. Через AJP, чтобы ваше веб-приложение не могло сказать, что это не SSL, и степень, в которой вы можете настроить SSL вплоть до уровня каталогов в Apache. HTTPD делает его намного лучшим местом для обработки конфигурации SSL в любом случае.