У меня установлен SSL в корневом каталоге сервера. У меня есть страница, код которой за кодом должен перенаправляться после определенной проверки на защищенную страницу. Вот код перенаправления:Почему IIS отвечает на запрос страницы безопасности (SSL) с 302 в свою незащищенную версию?
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);
Но страница, обслуживаемая IIS, не является надежной. Я посмотрел на консоль firebug и выяснилось, что клиент делает запрос на получение https://server/checkout/payment.aspx, но IIS отвечает от 302 до http://server/checkout/payment.aspx Любые подсказки, что может быть причиной этого. Я даже пытался заставить SSL для этой страницы, но он не работает, я получаю ошибку 403.4. (Для просмотра этого ресурса требуется SSL). И если я удалю логику перенаправления и перечислим страницу оплаты для перенаправления на ее версию SSL, когда соединение не защищено с помощью Request.IsSecureConnection, я получаю бесконечный цикл переадресации, просто потому что IIS по-прежнему не будет обслуживать безопасную версию без 302. Любые идеи?
Он не делает 302 со статическими ресурсами, он обслуживает файл с обычным HTTP 200. –