O IIS 7 exige que o SSL seja redirecionado automaticamente para https: //

26

Eu configurei o IIS 7 para exigir SSL. Gostaria de saber se posso redirecionar automaticamente solicitações não-ssl para serem criptografadas.

Por exemplo, se um usuário digitar http://domain.com, o IIS poderá redirecionar a solicitação para, em https://domain.comvez de exibir a página de erro 403?

jdickson
fonte

Respostas:

27

Existem algumas maneiras de fazer isso, mas se você tiver o Módulo de reconfiguração de URL instalado, é bastante fácil e uma boa maneira de fazê-lo.

Você pode colar a configuração abaixo no arquivo web.config do seu site (incluído na <system.webServer></system.webServer>seção)

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

OU você pode usar a interface do usuário do IIS para criar uma nova regra, como na captura de tela abaixo.

Captura de tela da regra de reescrita do IIS para redirecionar o tráfego http para https.

Scott Obert
fonte
O que significa off? esta resposta funciona btw
Dez Udezue
1

Você também pode usar o UrlRewriter.NET . As regras a serem usadas com isso são assim:

<rewriter>
    <if header="HTTPS" match="^OFF$">
        <redirect url="(.*)" to="https://yourdomain.com$1"/>
    </if>
</rewriter>
Protetor um
fonte