
Ich habe Tomcat installiert und möchte über das Internet darauf zugreifen. Ich kann lokal über darauf zugreifen localhost:8080/appname
, aber nicht über das Internet
http://externalip:8080/appname
.
Ich habe meinen D-LINK DIR-524-Router so konfiguriert, dass er Port 8080 durchlässt, wie unten gezeigt. Ich habe auch die Windows-Firewall sowie mein Antivirenprogramm ausgeschaltet, aber das Problem besteht immer noch.
Irgendwelche Ideen?
Antwort1
Einige Router verhindern Loopback-Verbindungen aus Sicherheitsgründen. Bei den meisten Routern für den Privatgebrauch gibt es kein Verbot dagegen, es funktioniert einfach nicht.
Der Grund, warum es nicht funktioniert, ist, dass der Router Anfrage-Antwort-Algorithmen implementiert und daher nicht darauf programmiert ist, den Fall zu verarbeiten, dass die Antwort tatsächlich eine andere Anfrage ist. Mit anderen Worten, der Router implementiert den Anfrage-Antwort-Algorithmus und nicht Anfrage-Anfrage-Antwort-Antwort.
Ich schlage vor, dies von außerhalb Ihres Netzwerks zu versuchen, um zu sehen, ob Sie dieselben Ergebnisse erhalten.
Antwort2
Öffnen Sie tomcat/conf/server.xml und suchen Sie nach Ihrem Connector. Sollte ungefähr so aussehen
<Connector
port="8080"
protocol="HTTP/1.1"
address="127.0.0.1"
connectionTimeout="20000"
/>
Versuchen Sie, die Adresse in Ihre externe IP zu ändern und starten Sie dann den Tomcat-Dienst neu.