Apache devant Glassfish v3 avec SSL en utilisant mod_proxy_ajp

J’espère que voici quelques problèmes qui peuvent facilement résoudre le problème auquel je suis confronté même après avoir effectué une recherche sur plusieurs forums: Je dois placer un serveur d’applications Glassfish v3 derrière un serveur Web Apache 2.2. , sont en cours d’exécution sur le serveur Web (donc je ne peux pas le fermer). Par conséquent, j’ai décidé d’utiliser la nouvelle solution “mod_proxy_ajp” (qui est livrée avec Apache hors de la boîte) au lieu de “mod_jk” plus complexe pour transmettre des requêtes via Apache à Glassfish. Ce que j’ai fait jusqu’à maintenant, c’est ceci:

Apache inclut “/etc/httpd/conf.d/proxy_ajp.conf” qui contient:

  • LoadModule proxy_ajp_module modules / mod_proxy_ajp.so
  • ProxyPass / mail!
  • ProxyPass / ajp: // localhost: 8080 /
  • ProxyPassReverse / ajp: // localhost: 8080 /

Poisson-verre:

  • http-listener-1 écoute sur 8080 avec “JK listener” activé
  • http-listener-2 écoute sur 8181 et a la sécurité activée à l’aide de mon certificate SSL

Mais ce que je voudrais faire c’est ceci:

  1. Acheminer toutes les demandes de “https://webmail.mydomain.com” vers Apache (webhost email webhoster)
  2. Acheminer toutes les autres requêtes HTTP et HTTPS vers Glassfish. Pour HTTP vers mon http-listener Glassfish 1 sur 8080 ou 8009, pour HTTPS à l’aide de mon certificate SSL enregistré avec mon http-listener Glassfish 2 sur 8181 (dans les deux sens, l’utilisateur doit ignorer ces ports) )
  3. Soit forcer toutes les demandes adressées à Glassfish à être redirigées / basculées vers HTTPS, soit basée sur la configuration de sécurité web.xml pour des ressources spécifiques (somefile.html) forcer à passer de HTTP à HTTPS (ou toute autre solution pour ce faire)

Si quelqu’un pouvait fournir une brève description de la résolution de ces 3 tâches, je serais très heureux car je ne suis pas très impliqué dans l’administration Web Java.
Merci d’avance et bravo
~ limubai

C’est beaucoup de questions! Il semble que vous essayiez de faire passer un proxy à GlassFish via Apache pour que les utilisateurs puissent accéder à vos applications sur des ports standard (80 et 443) et que vous ayez plusieurs applications, plusieurs domaines et que vous souhaitiez utiliser SSL.

Eh bien, vous avez beaucoup de travail devant vous! Vous allez probablement avoir besoin de regarder l’hébergement virtuel sur Apache; en particulier, un hôte virtuel pour webmail.mydomain.com et un autre pour mydomain.com.

Si vous ne disposez pas de deux adresses IP (deux cartes réseau) sur votre serveur Web, vous devrez utiliser un hébergement virtuel basé sur le nom. Sachez que l’hébergement virtuel basé sur des noms et le protocole SSL ne fonctionnent pas facilement ensemble. vous devrez probablement utiliser un certificate SSL avec le nom commun mydomain.com et alias webmail.mydomain.com (extension altSubjectName).

Vous trouverez des informations sur la configuration d’Apache ici:

http://httpd.apache.org/docs/2.2/vhosts/

Des informations sur l’utilisation de l’hébergement virtuel basé sur le nom avec SSL sont disponibles ici:

http://wiki.apache.org/httpd/NameBasedSSLVHosts

Vous trouverez des informations sur la configuration de GlassFish ici:

http://download.oracle.com/docs/cd/E18930_01/html/821-2416/gfaad.html