У нас есть простое требование использовать https для определенных определенных страниц в веб-приложении asp.net 4.0. Для проверки нашей реализации мы развернули простое приложение asp.net 4.0 для IIS 7. Приложение было закодировано для перенаправления страницы default.aspx на securepage.aspx через https на основе флага web.config.перенаправление HTTP-HTTPS в asp.net не работает
protected void Page_Load(object sender, EventArgs e)
{
Uri requestUri = Page.Request.Url;
UriBuilder builder = new UriBuilder("https", requestUri.Host, requestUri.Port, "SecurePage.aspx");
string secureUrl = builder.Uri.ToString();
if (bool.Parse(ConfigurationManager.AppSettings["UseSecure"]))
{
Response.Redirect(secureUrl, true);
}
else
{
Response.Write(secureUrl);
}
}
Но после того, как мы развернуть это приложение на IIS 7 и загрузить страницу default.aspx, она показывает «Internet Explorer не может отобразить веб-страницу». Но если мы отключим флаг конфигурации, он отобразит страницу правильно. Приложение имеет привязку http на порту 82 и https на порту 444.
Может кто-нибудь указать мне, где мы ошибаемся.
Ведьма из двух ответов - это тот, который работает с «http» или с «https»? или оба ? потому что ответы имеют этот маленький различие. – Aristos
Оба они будут работать в зависимости от того, что требуется. Основной момент был в том, что порт https был таким же, как порт HTTP-запроса – koder