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 в любом случае.

Другие вопросы по тегам