http для https условного перенаправления в jboss / wildfly - PullRequest
0 голосов
/ 02 мая 2019

JBoss / Wildfly => standalone.xml

Перенаправить http на https , только если URL-адрес запроса содержит имя домена. Если доступ к веб-сайту с IP-адреса не перенаправлять.

http://x.x.x.x:8080 -> do not redirect

http://xx.example.com -> redirect to https://xx.example.com

Я использую перенаправление с http на https, используя приведенный ниже код в standalone.xml

<server name="default-server">
    <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
    <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
    <host name="default-host" alias="localhost">
        <filter-ref name="http-to-https" predicate="equals(%p,8080)"/>
    </host>
</server>
<filters>
    <rewrite name="http-to-https" target="https://%v%U%q" redirect="true"/>
</filters>

Но в этом случае перенаправьте все запросы с ip или имени домена, если порт 8080.

http://x.x.x.x:8080 -> redirecting to https://x.x.x.x:8080

http://xx.example.com -> redirecting to https://xx.example.com

Но я не перенаправляю, если запрос от ip, только перенаправление с доменного имени.

Я использую перенаправление с http на https, используя приведенный ниже код в standalone.xml . Но его нельзя перенаправить в обоих условиях.

<server name="default-server">
    <http-listener name="default" socket-binding="http" redirect-socket="https" enable-http2="true"/>
    <https-listener name="https" socket-binding="https" security-realm="ApplicationRealm" enable-http2="true"/>
    <host name="default-host" alias="localhost">
        <filter-ref name="http-to-https" predicate="regex(pattern='/http://(.*).example.com/g') and equals(%p,8080)"/>
    </host>
</server>
<filters>
    <rewrite name="http-to-https" target="https://%v%U%q" redirect="true"/>
</filters>

EDIT

прокси-сервер пересылка 80 -> 8080. (т. Е. http://xx.example.com -> http://xx.example.com:8080)

Также я пытался с этим, но его не перенаправить в обоих условиях.

<filter-ref name="http-to-https" predicate="regex(pattern='http://(.*).example.com', value=%U, full-match=false) and equals(%p,8080)"/>

Спасибо

1 Ответ

0 голосов
/ 02 мая 2019

Наконец-то я получил решение

<filter-ref name="http-to-https" predicate="regex(pattern='example', value=%v, full-match=false) and equals(%p,8080)"/>

http://x.x.x.x:8080 -> не перенаправлять

http://xx.example.com -> перенаправить на https://xx.example.com

...