J'utilise WildFly derrière un équilibreur de charge AWS. Je veux que le serveur Undertow dans WildFly redirige le trafic http vers https, et je peux le faire le plus souvent avec succès la ligne suivante placée dans undertow-handlers.conf:Avancé Tweak sur Undertow-handlers.conf pour http https redirect
équivaut à ('http',% {i, X-Forwarded -Proto}) -> redirect (https://app.server.com%U)
Grâce à these folks pour m'avoir amené jusqu'ici! Maintenant, voici mon tweak désiré. Parfois, je lance mon application Web derrière un programme d'équilibrage de charge de test en utilisant 'dev.server.com' et parfois je l'exécute derrière un programme d'équilibrage de la charge de production en utilisant 'app.server.com'. Actuellement, je dois me rappeler d'éditer manuellement undertow-handlers.conf chaque fois que je change de balancier. J'espère qu'il y a un moyen de changer le 'dev' et 'app' codés en dur à quelque chose de mécanique. Existe-t-il un moyen de dire à Undertow d'utiliser simplement le nom de domaine demandé initialement?
Merci.
Merci, @ James. J'ai essayé d'échanger% h de Undertow à la place de 'dev.server.com', mais cela n'a pas fonctionné: la redirection ne fonctionnait plus. Je suppose que% h n'est pas une réplique exacte du domaine demandé. –
Oui, je suppose que ce n'est peut-être pas une réplique exacte. http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html#getHostString--. Si vous utilisez le paramètre sous-système Undowow, vous pouvez utiliser une expression pour l'attribut cible sur le filtre de réécriture. 'target =" https: // $ {jboss.host.name:%h}: 8443% U "' –