Response.Redirect mit ResolveUrl-> falscher Port

06/05/2008 - 09:39 von Carsten | Report spam
Hallo an Alle,


ich habe folgendes Problem: Meine Web-Applikation làuft auf einem Server,
der über ein Port-Forwarding angesprochen wird. Die Anfrage (Subdomain)
landet vom WAN an unserer Firewall auf Port 80 und wird dann weitergeleitet
auf den Webserver der auf Port 90 làuft. Das funktioniert auch ganz gut,
allerdings arbeite ich an einigen Stellen mit einem response.redirect und
resolve.url und genau dort passiert folgendes: In meiner Adresszeile des
Browsers wird aus sub.domain.de
-> sub.domain.de:90, obwohl die Domàne über Port 80 angesprochen wird. Ich
vermute, dass es daran liegt, das der eigentliche Web-Server auf Port 90
làuft. Wie kann ich das umgehen ohne den Port des Webservers zu veràndern?

Gruß

carsten
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
06/05/2008 - 10:30 | Warnen spam
Hallo Carsten,

"Carsten" schrieb:

der à¼ber ein Port-Forwarding angesprochen wird.



Wie wird denn die Adresse im Browser angezeigt und welche Adresse wird im
Hintergrund aufgerufen?

Die Anfrage (Subdomain)
landet vom WAN an unserer Firewall auf Port 80 und wird dann weitergeleitet
auf den Webserver der auf Port 90 là¤uft.



Also Browser: http://deinserver/abc.aspx und intern: http://deinserver:90/abc.aspx?

allerdings arbeite ich an einigen Stellen mit einem response.redirect und
resolve.url



Warum nimmst Du ResolveUrl? Poste mal den entsprechenden Code.

Response.Redirect( "~/Abc.aspx" )

führt bei mir ebenso wie

Response.Redirect( ResolveUrl( "~/Abc.aspx" ) )

und

Response.Redirect( ResolveClientUrl( "~/Abc.aspx" ) )

zum gewünschten Ergebnis, nàmlich einer Umleitung auf /Abc.aspx. Das làuft
dann auch unabhàngig vom Port.

Wie kann ich das umgehen ohne den Port des Webservers zu verà¤ndern?



Ich würde eher behaupten, dass dein Proxy, bzw. die Firewall für das Einfügen
des Ports verantwortlich ist. In dem Fall wàre eine eigene Methode zum Auflösen
der Adresse evtl. sinnvoll. Die setzt dann alle Bestandteile (inkl. http://...)
mit Ausnahme des Ports zusammen, so dass halt ein absoluter URL für Redirect
verwendet wird.

Tschau, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

Ähnliche fragen