Перенаправление с HTTP на HTTPS-IIS 7.5

я реализовал https в своем приложении, и теперь я пытаюсь сделать IIS перенаправить весь http-запрос на https, чтобы пользователь даже не заметил этого изменения.

Я изменил и попробовал некоторые параметры IIS, но не повезло.

Как я могу это сделать?

Я использую IIS 7.5 и ASP.NET 2.0

с уважением,

5 ответов


вы можете установить RewriteModule и следуйте инструкциям на на этой странице.


подход, описанный в этой статья в блоге работает хорошо.

резюме:
1) включите параметр "требовать SSL" для сайта.
SSL Settings

2) в конфигурации настроек ошибок для 403 ошибок установите его в "ответить с перенаправлением 302" с новым URL-адресом, установленным на полный URL-адрес с префиксом https://.
Change Error Page
Set Redirect Properties


вы можете сделать простую проверку на мировую.asax, на beginRequest, что-то вроде этого кода:

protected void Application_BeginRequest(Object sender, EventArgs e)
    {
        HttpApplication app = (HttpApplication)sender;

        if(!app.Response.Request.IsSecureConnection)
        {
            app.Response.Redirect(Request.RawUrl.Replace("http://","https://"), true);
            return;
        }
    }

ps. У меня не было проверки этого кода, я просто набираю его сейчас.


на случай, если кто-то еще столкнется с сайтом http://, который не будет перенаправляться. Вы также должны иметь привязку порта 80, добавленную на сайт.

enter image description here


перенаправление с HTTP на HTTPS в IIS 7

URL переписать тесно интегрирован с IIS Manager для лучшего управления(скачать изhttps://go.microsoft.com/?linkid=9722532)

Введите описание изображения здесь

Настройка Параметров Правил

соответствующий URL-адрес вкладки:
name= перенаправить 2 HTTPS
URL-адрес= (.*)

условия добавить запись
вход= {протокол HTTPS}
pattern= ^OFF$

действие:
type= Redirect
URL перенаправления= https:/ / {HTTP_HOST} / {R: 1}
redirectType= постоянный