2009-09-21 8 views
0

J'ai une application Tomcat qui sert de serveur/passerelle Web à Sun Systems Connect (qui est elle-même la passerelle vers les comptes de Systems Union que je soupçonne être la passerelle vers le bonheur).Tomcat accepte-t-il les adresses IP?

Je peux accéder à la page de connexion de l'application via un navigateur tant que j'utilise le nom de la machine (ou localhost lorsque local). Mais ni les machines IP ni Localhost ne me permettent de voir la page de connexion.

Sun dites-moi ceci est une «caractéristique» de Tomcat. Malheureusement les machines de comptes en développement et en production ont le même nom (différents domaines) donc je ne peux pas dire si j'exécute des tests sur le dev ou le live. A moins de changer les noms des boîtes, puis-je forcer Tomcat à accepter les adresses IP?

Répondre

0

Cela fait un moment que j'ai utilisé Tomcat, mais je pensais que par défaut, vous pouviez appeler le service Web via un nom ou une adresse IP. Je ne sais pas si cela aidera, mais vous pouvez essayer de définir un virtual host pour l'adresse IP dans server.xml, par exemple. ajoutez une strophe quelque chose comme

<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true"> 

mais en remplaçant "localhost" par l'adresse IP de votre machine.

1

Tomcat ne connaît rien aux adresses IP. IP est juste traité comme nom d'hôte. Vous devez vous assurer que la configuration autorise l'IP. Vous avez quelques options pour y parvenir.

Si vous ajoutez un hôte par défaut pour le moteur, tout nom d'hôte ou adresse IP non correspondant utilisera cet hôte virtuel. Par exemple,

<Engine name="Standalone" defaultHost="example.com"> 

Si vous voulez plus de contrôle, vous pouvez également ajouter l'adresse IP comme un alias, comme

<Host appBase="webapps" name="example.com"> 
    <Alias>192.168.1.2</Alias> 
</Host> 

Il y a beaucoup d'autres raisons pour lesquelles une adresse IP peut être rejetée,

  1. Le protocole SSL n'autorise pas l'adresse IP car le certificat ne sait rien de l'adresse IP.
  2. Si vous utilisez un hôte virtuel sur Apache ou un commutateur frontal, cela dépend normalement de la décision sur le nom d'hôte que vous utilisez et il ne sait pas comment router IP.
  3. Vous pouvez avoir un filtre de sécurité ou une règle permettant de vérifier les en-têtes d'hôte dans HTTP et de supprimer spécifiquement les demandes provenant d'hôtes inconnus.

En regardant les journaux, vous pouvez voir la cause exacte.

Questions connexes