IIS 7 Require SSL автоматически перенаправляет на https: //

26

Я настроил IIS 7, чтобы требовать SSL. Мне интересно, могу ли я автоматически перенаправлять не-ssl запросы для шифрования.

Например, если пользователь вводит данные http://domain.com, может ли IIS перенаправить запрос, https://domain.comа не отображать страницу с ошибкой 403?

jdickson
источник

Ответы:

27

Есть несколько способов сделать это, но если у вас установлен модуль перезаписи URL , это довольно простой и хороший способ сделать это.

Вы можете вставить приведенную ниже конфигурацию в файл web.config вашего сайта (прилагается в <system.webServer></system.webServer>разделе)

<configuration>
<system.webServer>
<rewrite>  
  <rules> 
   <rule name="https redirect">      
      <match url="(.*)" ignoreCase="false" />     
         <conditions>        
            <add input="{HTTPS}" pattern="off" ignoreCase="false" />      
         </conditions>      
      <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />    
   </rule>  
  </rules>
</rewrite>
</system.webServer>
</configuration>

ИЛИ вы можете использовать пользовательский интерфейс IIS, чтобы создать новое правило, как на скриншоте ниже.

Снимок экрана: правило перезаписи IIS для перенаправления http-трафика на https.

Скотт Оберт
источник
Что означает выключение? этот ответ работает между прочим
Dez Udezue
1

Вы также можете использовать UrlRewriter.NET . Правила использования с этим выглядят так:

<rewriter>
    <if header="HTTPS" match="^OFF$">
        <redirect url="(.*)" to="https://yourdomain.com$1"/>
    </if>
</rewriter>
Протектор один
источник