Сбой проверки хоста Jetty SNI за обратным прокси-сервером Wlldfly - PullRequest
0 голосов
/ 14 января 2019

Я настраиваю обратный прокси-сервер для Wildfly, чтобы я мог получить к нему доступ через Jetty. Протокол SSL настроен как на Wildfly, так и на Jetty, и оба используют одно и то же хранилище ключей (размещается в общей папке). Тем не менее, оба работают на разных машинах. Когда я пытаюсь получить доступ к Jetty из браузера через обратный прокси-сервер, я получаю следующее исключение: - ОШИБКА HTTP: 400 Проблема доступа / реш. Причина: Хост не соответствует SNI

При дальнейшем расследовании я обнаружил, что во время квитирования TLS SNI выбирает правильный сертификат, но при запросе ресурсов у Jetty заголовок узла содержит имя узла Wildfly (исходный заголовок узла, который был отправлен браузером для обратного прокси-сервера) и узел SNI Jetty не проверила проверку выбранного сертификата, поскольку она не содержит имени хоста Wildfly в DNS-именах сертификатов.

Обратные настройки прокси приведены ниже: -

<host name="default-host" alias="localhost">
    <location name="/" handler="welcome-content"/>
    <location name="/solr" handler="solrproxy">
    </location>
    <filter-ref name="server-header"/>
    <filter-ref name="x-powered-by-header"/>
</host>

<reverse-proxy name="solrproxy">
    <host name="jetty_host" outbound-socket-binding="jettyFeed" scheme="https" path="/solr" instance-id="jettyRedirect" security-realm="SslRealm"/>
</reverse-proxy>

<outbound-socket-binding name="jettyFeed">
    <remote-destination host="jetty_host" port="jetty_port"/>
</outbound-socket-binding>

Что может быть возможным решением этой проблемы?

Примечание. Я не могу переписать заголовок узла через обратный прокси-сервер, поскольку я использую KeyCloak для проверки подлинности, а также заголовок узла для перенаправления клиентов.

...