web-dev-qa-db-fra.com

Configurer JBoss pour gérer l'URL de la page d'accueil au lieu d'obliger les utilisateurs à saisir une URL longue

Question:

Est-il possible dans JBOSS de faire en sorte que différentes adresses URL fournies par les utilisateurs soient résolues en adresses URL différentes? c'est à dire.

http://OurAppUat/ => http://OurAppUat/web/app?environment=UAT
http://OurAppSIT/ => http://OurAppSIT/web/app?environment=SIT

Contexte:

Ignorez cette partie à moins que vous ne pensiez "quel problème essayez-vous de résoudre?".

Nous avons une application Web développée par un tiers et hébergée sur JBoss.
Cette application est le système d'exploitation de notre société; disponible en interne uniquement. Nous avons quelques personnalisations et, en tant que telles, des environnements SIT, UAT et de réplica de production pour nous permettre de tester les personnalisations et de reproduire les problèmes de production.

Pour diverses raisons, nous devons souvent basculer entre les environnements d’hébergement de serveurs (par exemple, nous pouvons préparer une copie actualisée de l’UAT sur le serveur SIT pendant que l’environnement UAT actuel est en cours d’utilisation, puis basculer les utilisateurs/testeurs sur l’instance actualisée avant de les déplacer. mise à jour de SIT sur l'ancien serveur UAT).

Il est possible que plusieurs environnements soient hébergés indépendamment sur le même serveur; mais nous essayons d'éviter cela lorsque cela est possible afin de nous assurer que les tests ne sont pas affectés par des tests effectués dans un autre environnement, ainsi que pour nous permettre de redémarrer les serveurs/services selon les besoins sans nous préoccuper d'autres instances susceptibles de partager le même hôte.

Ce que nous essayons de faire

Les utilisateurs se connectent actuellement à l'application via des URL telles que:

  • http://myServer01/web/app?environment=UAT
  • http://myServer02/web/app?environment=SIT

Nous aimerions simplifier ceci pour:

  • http://OurAppUat/
  • http://OurAppSIT/

En utilisant DNS, nous pouvons aller aussi loin que:

  • http://OurAppUat/web/app?environment=UAT
  • http://OurAppSIT/web/app?environment=SIT

L'avantage est que cela nous permet de changer de serveur dans les coulisses (et peut-être d'ajouter une répartition de charge sur toute la ligne) sans affecter les URL utilisées par nos utilisateurs. Pour ce faire, vous devez rediriger le nom DNS vers l'adresse IP de la ressource appropriée.

L'avantage supplémentaire de supprimer le reste de l'URL est que les URL deviennent lisibles par l'homme. Ainsi, les utilisateurs peuvent consulter l'URL et déterminer leur environnement sans avoir à comprendre quelle partie de l'URL doit être lue (bien que cela semble évident, la plupart des utilisateurs semblent paniquer sur le site d'une longue URL plutôt que de simplement le scanner. pour le nom de l'environnement).

Questions similaires

1
JohnLBevan

JBoss supporte les règles de réécriture qui peut être utilisé pour supporter cela. Dans la documentation, vous devez d’abord ajouter cette configuration dans le fichier server.xml :

<Valve className="org.jboss.web.rewrite.RewriteValve" />

Ensuite, vous devrez créer un fichier rewrite.properties avec quelque chose comme:

RewriteRule  ^/$  /web/app?environment=UAT  [L]
1