2009-06-17 5 views
1

Ich habe SSL im Stammverzeichnis eines Servers installiert. Ich habe eine Seite, deren Code Code nach einer bestimmten Überprüfung auf eine sichere Seite umleiten soll. Hier ist der Umleitungscode:Warum reagiert IIS auf eine sichere (SSL-) Seitenanforderung mit einer 302 auf seine nicht sichere Version?

switch (PageBase2.GetParameterValue("Environment")) //Retrieves App Setting named Environment from web.config 
      { 
       case "Server": 
        strURL = @"https://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx"; 
        break; 
       case "Local": 
        strURL = @"http://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx"; 
        break; 
       default: 
        strURL = @"https://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx"; 
        break; 
      } 
      Response.Redirect(strURL, false); 

Aber die Seite, die von IIS bedient wurde, ist nicht sicher. Ich schaute auf die Firebug-Konsole und es scheint, dass der Client eine Anfrage an https://server/checkout/payment.aspx machen, aber IIS antwortet mit einem 302 bis http://server/checkout/payment.aspx Alle Hinweise, was könnte es verursachen. Ich habe sogar versucht, SSL für die Seite zu erzwingen, aber es funktioniert nicht Ich bekomme 403.4 Fehler. (SSL wird benötigt, um diese Ressource anzuzeigen.) Und wenn ich die Umleitungslogik entferne und die Zahlungsseite so umcodiere, dass sie auf ihre SSL-Version umleitet, wenn die Verbindung nicht mit Request.IsSecureConnection sicher ist, lande ich einfach mit einer endlosen Umleitungsschleife Weil IIS immer noch nicht die sichere Version ohne 302 liefert. Irgendwelche Ideen?

Antwort

0

Es klingt als ob Sie nicht die richtige Konfiguration von IIS haben, mit der SSL auf die spezifische Website angewendet.

Sie können dies testen, indem Sie versuchen, eine statische Ressource, Bild oder HTML-Datei über den https-Link zu besuchen. Wenn das auch umleitet, würde ich in die IIS-Konfiguration schauen.

+0

Es macht keine 302 mit statischen Ressourcen, es dient die Datei mit einem regulären HTTP 200. –

Verwandte Themen