JBOSS EAP 6.4: правило перезаписи не работает - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь включить HTTPS в моем приложении. В автономном XML у меня есть следующие изменения, внесенные в веб-подсистему:

<subsystem xmlns="urn:jboss:domain:web:2.2" default-virtual-server="default-host" native="false">
    <connector name="http" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="http" socket-binding="http" redirect-port="8443"/>
    <connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true">
        <ssl name="https" key-alias="appName" password="password" certificate-key-file="path_to_jks"/>
    </connector>
    <virtual-server name="default-host" enable-welcome-root="false">
        <alias name="localhost"/>
        <rewrite name="redirect_https" pattern="/(.*)" substitution="https://${HOST_ENV_VAR}.domain.com:8443/$1" flags="NC,L,R=301">
            <condition name="condition_https" test="%{SERVER_PORT}" pattern="8080" flags="NC"/>
        </rewrite>
    </virtual-server>
</subsystem>

С этими изменениями, если я запускаю свое приложение с использованием HTTP, оно автоматически перенаправляется на HTTPS. Например,

http://host:8080/index.htm

перенаправляется на:

https://host:8443/index.htm

Во время перенаправления я также wi sh добавляет доменное имя к хосту (поскольку сертификаты сервера содержат хосты с доменными именами). Так что я sh перенаправить на:

https://host.domain.com:8443/index.htm

Правило переписать, которое я написал, не работает. Я также пытался записать условие как:

<condition name="condition_https" test="%{SERVER_PORT}" pattern="8443" flags="NC"/>

На данный момент ничего не работает. Я попытался включить ведение журнала TRACE, но я не вижу никаких намеков в нем. Любая идея, как я могу достичь этого? Версия JBOSS - EAP 6.4, а версия JDK - 1.7.

Примечание. Я пытался установить enable-welcome-root = "true" в теге виртуального сервера, но он завершился ошибкой "JBWEB000250: Дочерний контейнер с имя уже существует ". Но когда я читаю где-то, нет необходимости устанавливать enable-welcome-root = "true".

...