Entwickler-Ecke
ASP.NET und Web - IIS-Website auf Desktop im Internet veröffentlichen
Yogu - Mi 27.04.11 19:35
Titel: IIS-Website auf Desktop im Internet veröffentlichen
Hallo,
ich entwickle gerade eine ASP.NET-Webanwendung und habe diese in den IIS-Server geladen. Über die LAN-interne IP-Adresse des Rechners, auf dem der Server läuft, kann ich die Website abrufen, nicht aber über die externe Adresse des Routers. Die Portfreigabe funktioniert, das habe ich mit einem anderen Programm getestet.
Wireshark liefert folgende Erkenntnis: Die SYN-Pakete kommen an, werden aber nicht mit ACK beantwortet. Das heißt doch, dass der TCP-Listener die Anfrage nicht aktzeptiert, oder? Und wie kann ich IIS so konfigurieren, dass er die Pakete annimmt? Eine Bindung auf die externe IP-Adresse ist bereits hinzugefügt.
Ich hoffe, es findet sich eine Lösung. Vielen Dank schonmal für eure Vorschläge!
Grüße,
Yogu
Yogu - Fr 29.04.11 18:32
Ich erlaube mir mal einen *Schiebeposting* und möchte noch einmal betonen, dass ich dankbar bin für jeden Hinweis.
jaenicke - Fr 29.04.11 18:55
Wie sieht es mit der Firewall aus?
Da wäre es normal, wenn es gar keine Antwort gibt. ;-)
Yogu - Fr 29.04.11 19:17
Juhu, ein Post :)
Die Firewall habe ich gerade noch einmal gänzlich ausgeschaltet - ohne Erfolg. Außerdem kann es gar nicht an ihr liegen: Wenn ich statt der IIS einen selbst programmierten TCP-Server lauschen lasse und diesen Eingehende Verbindungen akzeptieren lasse, kommt die Verbindung zustande.
Ich glaube vielmehr, dass der IIS-Server Pakete von externen IP-Adressen nicht beantwortet. Es gibt das Modul "Einschränkungen für IP-Adressen und Domänen", aber daran liegt es nicht. Gibt's vielleicht noch mehr solcher Möglichkeiten, bestimmte IP-Adressen auszuschließen?
Grüße,
Yogu
dark-destination1988 - Mo 02.05.11 10:32
schonmal über Portforwarding probiert?
von außen muss ja prinzipiell an die interne Adresse weitergeleitet werden.
Ich vermute deshalb das du das über Portforwarding erreichen kannst.
Du rufst über die Externe Adresse auf. Der Router leitet es an die interne weiter und du erhälst damit eine antwort von der Internen Adresse, obwohl die Externe angesprochen wurde
dark-destination1988 - Mo 02.05.11 10:32
Sorry doppelpost
Yogu - Mo 02.05.11 15:57
Hallo,
danke für deine Antwort,
dark-destination1988. Am Router ist bereits eine Protfreigabe eingerichtet, d.h. er wurde so konfiguriert, dass er den Port 80 der externen IP-Adresse mit dem Port 80 der lokalen IP-Adresse meines Rechners verknüpft. Das meinst du wohl mit Port Forwarding. Das Problem ist aber, dass der IIS-Server die Pakete, die über diese Portfreigabe gesendet wurden, nicht akzeptiert. Wahrscheinlich ist irgend eine Einstellung gesetzt, dass er nur lokale IP-Adressen annimmt. Aber die finde ich eben nicht.
Vorübergehend habe ich das Problem damit gelöst, dass ein anderer TCP-Server die Verbindungen in Empfang nimmt und dann selbst eine Verbindung zum IIS-Server aufbaut, um die Daten zu übertragen. So denkt der IIS-Server, die Daten kämen vom eigenen Rechner, obwohl sie von außen stammen. Das löst zwar erstmal das Problem, birgt aber ein Sicherheitsrisiko und erlaubt es mir nicht, lokale Anfragen anders zu behandeln als normale (z.B. mit erweiterten Fehlermeldungen).
Der IIS Express scheint übrigens genau das gleiche Problem zu haben.
Grüße,
Yogu
Yogu - Do 26.05.11 20:49
Hallo,
ich habe inzwischen
eine Lösung [
http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx] gefunden, die mit IIS Express funktioniert. Im Prinzip muss nur folgende Zeile ausgeführt werden:
Quelltext
1:
| netsh http add urlacl url=http://hostname:port/ user=Jeder |
In der Quelle wird statt
Jeder everyone verwendet, aber in der deutschen Version von Windows muss die Übersetzung benutzt werden.
Wie man die Regel wieder löscht und wie das ganze unter XP funktioniert, steht auf der verlinkten Seite.
Grüße,
Yogu
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!