J'essaie d'accéder à une application Web (déployée dans jetty8 sur ma machine (A)) à partir d'une autre machine (B) sur le réseau local à l'aide de 192.168.0.6:8080 (IP de A), mais cela ne fonctionne pas. Bien que je puisse accéder aux applications hébergées sur AppServ sur la machine B depuis A normalement à l'aide de 192.168.0.5 (IP de B).
Je peux accéder à l'application normalement sur localhost: 8080 sur la machine A.
Je peux assurer qu'il n'y a pas de problème de réseau, mais la jetée n'est pas accessible via le réseau pour une raison quelconque. Existe-t-il une configuration spécifique à rendre accessible via le réseau local?
Mon application est un projet Maven et je l'exécute à partir d'Eclipse. Les paramètres sont à la fois dans web.xml et pom.xml.
La réponse suivante concerne Jetty 8 et les versions plus anciennes (les commandes et les noms de classe de Jetty 9+ sont différents)
Assurez-vous de vérifier quelles interfaces vous écoutez.
Exemple (de journaux)
2012-08-10 14:52:26.470:INFO:oejs.AbstractConnector:Started [email protected]:8080
Cela signifie que le serveur écoute uniquement sur 127.0.0.1 (localhost). Vous pouvez consulter les journaux ou simplement effectuer un test rapide sur l'ordinateur A. Ouvrez un navigateur Web et testez ces deux URL.
http://localhost:8080/
http://192.168.0.6:8080/
S'il répond sur les deux URL, vous l'aurez probablement configuré correctement et devrez résoudre les problèmes de pare-feu. Si cela fonctionne pour l'un, mais pas pour l'autre, vous n'écoutez que sur 1 interface.
Pour que jetty écoute sur toutes les interfaces, utilisez l'IP spécial 0.0.0.0
$ Java -Djetty.Host=0.0.0.0 -jar start.jar
2012-08-10 14:53:25.338:INFO:oejs.AbstractConnector:Started [email protected]:8080
À ce stade, Jetty écoute toutes les interfaces de votre machine.
Remarque: vous pouvez également modifier etc/jetty.xml et définir l'hôte de manière permanente.
<New class="org.Eclipse.jetty.server.nio.SelectChannelConnector">
<Set name="Host">0.0.0.0</Set>
...
Donc, j'ai touché ceci et après un après-midi de débogage de comportements étranges, j'ai découvert que Jetty se diffusait uniquement sur IPv6, et en sautant IPv4, le port v4 a été alloué à une autre application.
Ma solution? Aller à un autre port ...