2009-10-01 10 views
4

J'ai besoin de l'aide de quelqu'un qui comprend JBoss Hostname Binding. Je pense que la solution est facile, même si c'est compliqué à expliquer.Adresses IP JBoss Binding

Je déploie une application utilisant JBoss (v4.2) et j'ai des problèmes pour configurer l'application.

Cette application comporte deux parties, un site Web sur le port 8080 et des services Web sur le port 8080 à l'aide d'API SOAP.

Mon serveur se trouve derrière un pare-feu, et a un alias, disons qu'il est appelé d'orange .mycompany.com

Mon problème est que je ne peux pas la console pour se connecter aux services Web. Le site fonctionne, mais je vois une erreur de connexion refusée se connectant aux services web.

[xfire.transport.http.HttpChannel] java.net.ConnectException: Connexion a refusé

Il y a 2 choses que je peux contrôler, la liaison IP sur Tomcat, et l'URL du services Web.

Si je commence à JBoss, et se lier à l'adresse IP locale:

./run.sh -b 10.1.2.3 

Je tournai l'URL des services Web à la même IP

url=http://10.1.2.3:8080/services 

Je peux voir le site sur le port 8080 à l'extérieur du pare-feu, mais la console ne peut pas se connecter aux services Web. A partir du serveur, orange, lui-même je ne peux pas voir le site en appelant http://localhost:8080/ ou http://10.1.2.3:8080 ou orange.mycompany.com:8080

Cependant, si je commence à JBoss et se lier à 127.0.0.1:

./run.sh -b 127.0.0.1 

Je tournai l'URL des services Web à localhost

url=http://localhost:8080/services 

Je peux maintenant pas voir le site du tout à l'extérieur du pare-feu. Mais à partir du serveur lui-même, je peux voir le site Web de navigation http://localhost:8080 et je peux me connecter avec succès aux services Web. C'est bien, mais j'ai besoin que le site soit accessible de l'extérieur.

Quelqu'un peut-il suggérer n'importe quelle combinaison de paramètres qui me permettra de naviguer sur le site Web et aussi laisser la console appeler des services web sur localhost?

Répondre

11

Peu importe.

Démarrer la liaison JBoss à tous les travaux IP.

./run.sh -b 0.0.0.0 
0

Votre JIRA n'est pas autonome, n'est-ce pas?

Je lance toujours tomcat et jboss derrière un apache avec mod_jk. Cela cache toujours les ports, ce qui sonne bien pour les utilisateurs de newbies.

Votre serveur est derrière un NAT?

Parfois, j'utilise ProxyPass ou RewriteRules (mod_rewrite) pour fournir un accès externe, via un proxy inverse.

+0

Oui, je cours JIRA, ainsi que 3 autres applications sur la même instance de JBoss (en utilisant le port 8080). Juste pour compliquer les choses, je cours également une deuxième instance de JBoss sur le port 80. –

+0

Ops, toute application nécessite de savoir où IP ou hôte il est en cours d'exécution? Cela semble mauvais! Même construire des "éléments HTML", comme "a", "img" etc, avec l'URL complète (proto: //host.domain: port/dir/fichier? Args # fragments) me semble mauvais. Peut-être que votre application le fait sans que vous l'ayez codée. Pensez à résoudre ce problème. Quoi qu'il en soit, qu'en est-il de fusionner 8080 et 80 tomcats et ensuite ajouter un apache comme frontal? Entre apache et tomcat everythings est accessible sur http: // localhost! –

Questions connexes