IIS 7 Requiere SSL redirigir automáticamente a https: //

26

He configurado IIS 7 para requerir SSL. Me pregunto si puedo redirigir automáticamente las solicitudes que no son SSL para que se cifren.

Por ejemplo, si un usuario escribe http://domain.com, ¿puede IIS redirigir la solicitud a https://domain.comla página de error 403 en lugar de mostrarla?

jdickson
fuente

Respuestas:

27

Hay algunas maneras de hacerlo, pero si tiene instalado el Módulo de reescritura de URL , es bastante fácil y una buena forma de hacerlo.

Puede pegar la siguiente configuración en el archivo web.config de su sitio (incluido en la <system.webServer></system.webServer>sección)

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

O puede usar la interfaz de usuario de IIS para crear una nueva regla como en la siguiente captura de pantalla.

Captura de pantalla de la regla de reescritura de IIS para redirigir el tráfico http a https.

Scott Obert
fuente
¿Qué significa off? esta respuesta funciona por cierto
Dez Udezue
1

También puede usar UrlRewriter.NET . Las reglas para usar con eso, se ven así:

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