comment faire de la jetée serveur accessible depuis le LAN?
Je suis en train d'essayer d'accéder à une application web (déployé en jetty8 sur ma machine (Un)) à partir d'une autre machine (B) sur le réseau local à l'aide de 192.168.0.6:8080 (IP) mais sa ne fonctionne pas. Alors que je peux accéder à des applications hébergées sur AppServ sur la machine B à partir d'Un normalement à l'aide de 192.168.0.5 (B IP).
Je peux accéder à l'application normalement sur localhost:8080 sur la machine A.
Je peux vous assurer qu'il n'y a pas de problème de réseau, mais la jetée n'est pas accessible à travers le réseau pour une raison quelconque. Est-il une configuration spécifique afin de rendre accessible à travers le réseau local?
Mon application est projet Maven et je le lance à partir d'eclipse et les paramètres sont dans les deux web.xml et pom.xml.
J'ai ajouté mvn jetty:run pour eclipse configuration d'exécution. Donc, je peux exécuter le projet dans eclipse et eclipse va exécuter la jetée. puis-je accéder à l'application en local sur localhost:8080/appName
Qu'est-ce que votre système d'exploitation? Avez-vous des paramètres de pare-feu qui pourrait empêcher la visibilité des ports?
J'ai windows7 .. j'ai désactivé le pare-feu windows, mais cela n'a pas fonctionné.
Je ne pouvais pas reproduire votre problème sur Win7. Pourriez-vous regarder le "centre Réseau et partage" si le pare-feu est vraiment éteint?
OriginalL'auteur Sami | 2012-08-04
Vous devez vous connecter pour publier un commentaire.
La réponse suivante est pour la Jetée de 8 et plus (Jetty 9+ commandes et les noms de classe sont différents)
Assurez-vous de vérifier quelles sont les interfaces vous êtes à l'écoute sur.
Exemple (de journaux)
Qui dit que le serveur est à l'écoute sur l'adresse 127.0.0.1 (localhost)
Vous pouvez soit regarder les journaux, ou tout simplement faire un test rapide, alors que sur la machine A.
Ouvrez un navigateur web et de tester deux de ces Url
http://localhost:8080/
http://192.168.0.6:8080/
Si elle répond à la fois les Url alors vous avez probablement installé correctement et la nécessité de traiter avec les problèmes de pare-feu.
Si cela fonctionne pour l'un, mais pas les autres, alors vous êtes seulement à l'écoute sur 1 de l'interface.
Avoir jetée écouter sur toutes les interfaces, utiliser les IP 0.0.0.0
À ce stade, la jetée de l'est à l'écoute sur toutes les interfaces sur votre machine.
Remarque: vous pouvez également modifier etc/jetty.xml et de définir l'hôte de façon permanente.
http://localhost:8080
. J'ai utilisémvn jetty:run -Djetty.host=0.0.0.0
pour exécuter la jetée et de l'exécuter et a obtenu le journal que vous avez mentionné[email protected]:8080
. Mais ne peut toujours pas accèshttp://192.168.0.6:8080
.. quoi d'autre pourrait encore causer le problème?.. J'ai essayé en local.Si vous ne pouvez pas accéder à 192.168.0.6:8080 et vous avez le [email protected]:8080 sortie, alors vous n'avez pas de 192.168.0.6 comme une interface réseau sur cette machine. Essayez d'exécuter un test de java pour voir si elle peut trouver que l'interface réseau. docs.oracle.com/javase/tutorial/networking/nifs/listing.html
J'ai couru ce code et c'est en partie ce que j'ai:
Display name: Intel(R) Centrino(R) Advanced-N 6205 Name: net5 InetAddress: /192.168.0.6 InetAddress: /fe80:0:0:0:c739:e32:3450:159f%19
Comment configurez-vous présent lors de la Jetée est lancé automatiquement à partir de l'éclipse? (exécuter en tant qu'application web)
Remarque: Dans Android Studio avec Google App Engine, vous devez éditer le fichier <yourBackend>.iml. Modifiez la ligne
<option name="HTTP_ADDRESS" value="localhost" />
à<option name="HTTP_ADDRESS" value="0.0.0.0" />
OriginalL'auteur Joakim Erdfelt
Donc je l'ai frappé et après un après-midi de débogage comportements bizarres, j'ai découvert la Jetée était seulement la radiodiffusion elle-même à l'IPv6, et le saut de l'IPv4, la v4 port a été attribué à une autre application.
Ma solution? Sauter à un autre port...
Non, il ne veut pas. Il déclare qu'il peut atteindre à partir de localhost:8080 sur Une machine, qui peut être (et sont souvent) alias à la fois IPv4 (127.0.0.1) et IPv6 (::1) des sous-ensembles simultanément. Le fait que de nombreux clients et de la jetée sera cascade de l'un à l'autre sans vous dire qui est en cours d'utilisation/qui a échoué, joue beaucoup sur la question. Il est probable que ses 127.0.0.1:8080 sur Un est verrouillé, mais sa ::1:8080 n'est pas et de la jetée de l'est à l'aide de ce dernier.
Ok, ça me semble plausible.
Changer le port din fonctionne pas pour moi.
OriginalL'auteur Matt Hilliard