wie man jetty-server zugänglich von der LAN?
Ich versuche, eine web-app (bereitgestellt in jetty8 auf meinem Rechner (A)) von einer anderen Maschine (B) auf das LAN mit 192.168.0.6:8080 (die IP) aber es funktioniert nicht. Zwar kann ich access-apps gehostet AppServ auf Maschine B aus, die normalerweise mit 192.168.0.5 (B, IP).
Kann ich die app zugreifen, die normalerweise auf localhost:8080 auf Maschine A.
Ich kann Ihnen versichern, dass es kein Netzwerk-problem, aber jetty ist nicht erreichbar über das Netzwerk aus irgendeinem Grund. Gibt es eine bestimmte Konfiguration zugänglich zu machen durch die LAN?
Meine app Maven-Projekt ist, und ich es aus eclipse und Einstellungen sind in beiden web.xml und pom.xml.
Ich habe mvn jetty:run auf eclipse run configuration. So kann ich das Projekt aus eclipse und eclipse läuft jetty. dann kann ich auf die app zugreifen, die lokal auf localhost:8080/appName
Was OS Sie laufen? Hast du irgendwelche firewall-Einstellungen, die ggf. verhindern, dass die Sichtbarkeit der ports?
Ich habe windows7 .. ich abgeschaltet, windows firewall, aber es hat nicht funktioniert.
Konnte ich nicht reproduzieren das problem auf Win7. Könnte man sich die "Network and sharing center", wenn die firewall wirklich ausgeschaltet ist?
InformationsquelleAutor Sami | 2012-08-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die folgende Antwort für Steg 8 und älter (Steg 9+ Befehle und Klassennamen unterschiedlich sind)
Stellen Sie sicher, dass Sie überprüfen, welche Schnittstellen Sie hören auf.
Beispiel (aus logs)
Sagt, dass der server nur lauscht auf 127.0.0.1 (localhost)
Sie können entweder schauen Sie in die Protokolle, oder einfach nur machen Sie einen schnellen test, während auf Maschine A.
Öffnen Sie einen Webbrowser und testen Sie diese beiden URLs
http://localhost:8080/
http://192.168.0.6:8080/
Wenn er reagiert auf beide URLs dann haben Sie wahrscheinlich haben es ordnungsgemäß eingerichtet und müssen befassen sich mit Probleme mit der firewall.
Wenn es funktioniert für eine, aber das andere nicht, dann sind Sie nur Zuhören-auf-1-Schnittstelle.
Haben jetty hört auf allen Schnittstellen auf, verwenden Sie die spezielle IP-Adresse 0.0.0.0
Zu diesem Zeitpunkt Steg hört auf allen Schnittstellen an Ihrem Rechner.
Hinweis: Sie können auch Bearbeiten etc/jetty.xml und legen Sie den host dauerhaft.
http://localhost:8080
. Ich verwendetmvn jetty:run -Djetty.host=0.0.0.0
zum Steg laufen und laufen und bekam die melden, die Sie erwähnt[email protected]:8080
. Aber immer noch keinen Zugriff aufhttp://192.168.0.6:8080
.. was könnte man noch verursacht das prob?.. Ich habe versucht, lokal.Wenn Sie keinen Zugriff auf 192.168.0.6:8080 und Sie haben die [email protected]:8080 die Ausgabe, dann haben Sie sich nicht 192.168.0.6 als eine Netzwerk-Schnittstelle auf der Maschine. Versuchen Sie, ein test von java um zu sehen, ob Sie finden, dass die Netzwerk-Schnittstelle. docs.oracle.com/javase/tutorial/networking/nifs/listing.html
Ich lief diesen code, und das ist Teil von dem, was ich habe:
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
Wie konfigurieren Sie dies bei der Steg wird automatisch gestartet aus eclipse? (laufen als web-Anwendung)
Hinweis: In Android Studio mit Google App Engine müssen Sie die Datei Bearbeiten <yourBackend>.iml. Ändern Sie die Zeile
<option name="HTTP_ADDRESS" value="localhost" />
zu<option name="HTTP_ADDRESS" value="0.0.0.0" />
InformationsquelleAutor Joakim Erdfelt
So schlug ich diese und nach einem Nachmittag Fehlersuche in sonderbaren Verhaltensweisen, entdeckte ich einen Steg wurde nur Fernsehen selbst zu IPv6-und IPv4-skipping, dem v4 port zugeordnet wurde, zu einer anderen app.
Meine Lösung? Springen zu einem anderen port...
Das tut er nicht. Er sagt er kann es erreichen, von localhost:8080 auf Maschine A, die können (und werden üblicherweise) alias auf IPv4 (127.0.0.1) und IPv6 (::1) Teilmengen gleichzeitig. Die Tatsache, dass viele Kunden und jetty Kaskade von einem zum anderen, ohne dass Sie im Einsatz ist/die es versäumt hat, spielt stark in das Thema. Wahrscheinlich, seiner 127.0.0.1:8080 auf Eine ist verschlossen, aber sein ::1:8080 ist nicht der jetty ist mit dem letzteren.
Ok, das klingt plausibel.
Ändern der port-din nicht für mich arbeiten.
InformationsquelleAutor Matt Hilliard