Назад | Перейти на главную страницу

Модуль Apache, подходящий для сквозной передачи SSL

На моем сервере приложений JBoss настроена взаимная проверка подлинности SSL (мы выполняем некоторую обработку на основе сертификата клиента).

Мне нужен веб-сервер перед JBoss. Какой лучший модуль apache может выполнять сквозную передачу SSL в JBoss?

Если вы не ищете что-то невероятно тривиальное (пересылка всего SSL-трафика непосредственно на JBoss без какой-либо обработки со стороны Apache, и в этом случае вы могли бы также использовать пересылку TCP, например rinetd), все, что вы пытаетесь сделать, не возможно.

Чтобы Apache делал что-нибудь при использовании SSL-соединения он должен согласовать симметричный ключ с клиентом. Как только Apache сделает это, JBoss не сможет расшифровать соединение, если apache «просто» перенаправил результирующий поток JBoss. Обычно расшифрованное соединение пересылается приложению. Возможно, вы даже сможете заставить apache установить новое соединение SSL от Apache к JBoss, но без сертификата клиента у него не будет информации аутентификации, которую ищет JBoss.

На что следует обратить внимание: не могли бы вы заставить JBoss читать заголовки соединений не-ssl, чтобы получить эту информацию о клиенте? Тогда вы могли используйте mod_rewrite для захвата информации из сертификата клиента. (Список доступных переменных) (фактический (если старый) пример объединения mod_rewrite, mod_headers и mod_proxy для выполнения этого)

Если проблема в том, что вы хотите обслуживать некоторый контент через веб-сервер, а не через JBoss, рассмотрите возможность создания отдельного хоста, например https://static.example.com.

Это может быть дикая погоня за гусем, поскольку я не уверен, насколько хорошо JBoss справится с этим, но похоже на использование SSLOptions +ExportCertData передаст клиентский сертификат через соединение AJP, благодаря способности AJP передавать переменные среды.

Это зависит от вашего уровня комфорта с незашифрованными данными между серверами Apache и JBoss, а также от того, распознает ли JBoss сертификат в переданной переменной среды. Видеть Вот.