web-dev-qa-db-fra.com

Rediriger les requêtes http vers https dans wildfly 10

Ceci est ma configuration standalone-full.xml avec ssl configuré
domaine de sécurité.

      <security-realm name="SslRealm">
            <server-identities>
            <ssl>
            <keystore path="D:\ncm.keystore" alias="ncm" keystore-password="*****" />
            </ssl>
            </server-identities>
        </security-realm>

Sous-système

 <server name="default-server">
            <http-listener name="default" socket-binding="http" redirect-socket="https"/>
            <https-listener name="default-ssl" socket-binding="https" security-realm="SslRealm"/>
            <Host name="default-Host" alias="localhost">
                <location name="/" handler="welcome-content"/>
                <filter-ref name="server-header"/>
                <filter-ref name="x-powered-by-header"/>
            </Host>
        </server>

Socket Binding

   <socket-binding name="http" port="${jboss.http.port:8080}"/>
    <socket-binding name="https" port="${jboss.https.port:8443}"/>

Comment rediriger vers https: /// localhost: 8443/myApp lorsque l'utilisateur clique sur http: // localhost: 8080/myApp

6
Faiyaz Md Abdul

Une règle de réécriture peut être utilisée pour rediriger les utilisateurs. Dans le sous-système de ressacs (standalone.xml ou domain.xml), vous devrez créer un nouveau filtre de réécriture, puis l'activer dans un nouveau fitler-ref:

Créez le nouveau filtre de réécriture dans la section des filtres. Dans l'exemple ci-dessous, les utilisateurs seront redirigés vers https://myhostname:443/my-app. % U est un espace réservé pour le chemin de l'URL de la requête d'origine; vous souhaitez utiliser% U pour rendre la redirection conviviale et conserver le chemin d’URL de requête original des utilisateurs.

<filters>
<rewrite name="http-to-https" redirect="true" target="https://myhostname:8443%U"/>
</filters>

Activez ensuite le filtre et configurez un prédicat dans la section Host. Le prédicat est l'endroit où vous configurez le filtre de réécriture. Dans l'exemple ci-dessous, notre filtre de réécriture s'appliquera uniquement aux demandes allant au port 8080.

    <server name="default-server">
        <Host name="default-Host" alias="localhost">
            ...
            <filter-ref name="http-to-https" predicate="equals(%p,8080)"/>

Voici les étapes de la CLI de JBoss pour les mêmes modifications de configuration ci-dessus:

/subsystem=undertow/configuration=filter/rewrite=http-to-https:add(redirect="true",target="https://myhostname:8443%U")
/subsystem=undertow/server=default-server/Host=default-Host/filter-ref=http-to-https:add(predicate="equals(%p,8080)")
16
Varsha

À partir de WildFly 15: console d’administration -> Web -> Filtres -> Ajouter une règle de réécriture https://%v%U

Ajoutez-le ensuite à chaque hôte de votre choix avec la condition equals(%p,80).

Pas besoin de créer une règle pour chaque hôte.

https://javagc.leponceau.org/2019/02/configuring-wildfly-to-redirect-https.html

0
user1050755

J'ai essayé 

<rewrite name="http-to-https" redirect="true" target="https://my.website.com:443/Web/"/>

Comme vous pouvez le voir sans %U

Il redirige tout le trafic HTTP vers HTTPS

0
Laefiss