IIS 7 wymagają, aby SSL automatycznie przekierowywał na https: //

26

Skonfigurowałem IIS 7 tak, aby wymagał SSL. Zastanawiam się, czy mogę automatycznie przekierowywać żądania inne niż ssl do zaszyfrowania.

Na przykład, jeśli użytkownik wpisze http://domain.com, czy IIS może przekierować żądanie https://domain.comzamiast wyświetlać stronę błędu 403?

jdickson
źródło

Odpowiedzi:

27

Można to zrobić na kilka sposobów, ale jeśli masz zainstalowany moduł URL Rewrite , jest to dość łatwy i dobry sposób.

Możesz wkleić poniższą konfigurację do pliku web.config swojej witryny (zawartego w <system.webServer></system.webServer>sekcji)

<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>

LUB możesz użyć interfejsu IIS, aby utworzyć nową regułę, jak na poniższym zrzucie ekranu.

Zrzut ekranu przedstawiający regułę przepisywania IIS w celu przekierowywania ruchu http do https.

Scott Obert
źródło
Co oznacza off? ta odpowiedź działa przy okazji
Dez Udezue
1

Możesz także użyć UrlRewriter.NET . Zasady, których należy używać, wyglądają następująco:

<rewriter>
    <if header="HTTPS" match="^OFF$">
        <redirect url="(.*)" to="https://yourdomain.com$1"/>
    </if>
</rewriter>
Protektor jeden
źródło