2 votes

Exécution de plusieurs domaines de sites Web sur Wildfly

Supposons que je possède plusieurs sites web avec des noms de domaine différents, domain1.com , domain2.com etc. J'ai mis en place la configuration correcte des virtualhosts pour ces sites dans wildfly. Les entrées DNS correctes sont également en place. Comment puis-je acheminer les demandes adressées à mon serveur pour ces domaines vers wildfly ?

  1. Dois-je simplement exécuter wildfly sur les ports 80 et 443 ? Quelque chose me dit que c'est une mauvaise idée car wildfly ne fonctionne pas sur ces ports par défaut. Pour exécuter wildfly sur ces ports, il faut se lier à ces ports en tant qu'utilisateur privilégié, puis passer à un utilisateur non privilégié. Les tracas et la difficulté de cette opération suggèrent que ce n'est pas une bonne idée.

  2. Dois-je faire tourner wildfly derrière nginx ou apache2 ? Mon application fait tourner les sites Web et la configuration du serveur virtuel de façon dynamique. Puis-je simplement transmettre toutes les demandes à wildfly et le laisser s'en occuper ?

  3. ? ??

1voto

yntelectual Points 156

L'option 1 est possible, mais comme vous l'avez correctement prédit, ce n'est pas l'approche privilégiée. Pour fonctionner sur le port 80 ou 443, vous avez besoin d'un utilisateur privilégié et vous exposez directement le serveur java au public, ce qui facilite les problèmes.
Donc, lancez nginx, définissez les domaines ici et configurez upstream y proxy_pass pour le reverse proxy vers vos instances wildfly. Vous bénéficiez d'un équilibrage de charge gratuit, vous pouvez gérer le SSL sur nginx au lieu de wildfly et l'ensemble de la configuration est tellement plus facile à maintenir et à faire évoluer. Vous pouvez soit mettre en place un cluster wildfly dédié pour chaque domaine et avoir une instance de upstream ou vous pouvez commencer par une seule instance avec des contextes web distincts, par ex.

upstream jboss {
    server 192.168.33.11:8080;
}
server {
    listen 443;
    server_name example.com;

    location / {
         proxy_pass http://jboss/webapp1;
    }
} 
server {
    listen 443;
    server_name otherdomain.com;
    #pass the request to another .war dewployed on jboss
    location / {
         proxy_pass http://jboss/webapp2;
    }
} 

Vous pouvez trouver plus d'informations sur site web nginx

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X