La mejor manera de redirigir todo HTTP a HTTPS en IIS

Pregunta:

Queremos que TODOS los sitios de nuestro servidor web (IIS 10) apliquen SSL (es decir, redirijan HTTP a HTTPS).

Actualmente estamos 'Requeriendo SSL' en cada sitio y configurando un controlador de 403 error para realizar un 302 redirect a la dirección https para ese sitio específico.

Esto funciona muy bien. Pero es una molestia para cada sitio, hay mucho espacio para el error humano.

Idealmente, me gustaría configurar una 301 redirect permanente en todos los HTTP://* a HTTPS://*

¿Existe una forma sencilla de hacer esto en IIS?

Respuesta:

El módulo de reescritura de URL de IIS 2.1 para IIS7 + puede ser su amigo. El módulo se puede descargar desde IIS URL Rewrite . Uso del módulo de reescritura de URL y la referencia de configuración del módulo de reescritura de URL 2.0 explique cómo utilizar el módulo.

Una vez que el módulo está instalado, puede crear una redirección de todo el host mediante el Administrador de IIS. Seleccione Reescritura de URL , Agregar regla (s) … y Regla en blanco .

Nombre:
Redirigir a HTTPS

URL coincidente
URL solicitada: Matches the Pattern
Usando: Wildcards
Patrón: *
Ignorar mayúsculas y minúsculas: marcado

Condiciones
Agrupación lógica: Match Any
Entrada de condición : {HTTPS}
Compruebe si la cadena de entrada: Matches the Pattern
Patrón: OFF
Ignorar mayúsculas y minúsculas: marcado
Seguimiento de grupos de captura en diferentes condiciones: sin marcar

Variables del servidor
Déjelo en blanco.

Acción
Tipo de acción: Redirect
URL de redireccionamiento: https://{HTTP_HOST}{REQUEST_URI}
Agregar cadena de consulta: no marcado
Tipo de redireccionamiento: Permanent (301)

Aplique la regla y ejecute IISReset (o haga clic en Reiniciar en el Administrador de IIS)

Alternativamente, después de instalar el módulo, puede modificar el archivo applicationHost.config de la siguiente manera:

<system.webServer>
  <rewrite>
    <globalRules>
      <rule name="Redirect to HTTPS" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
        <match url="*" ignoreCase="true" negate="false" />
        <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
          <add input="{HTTPS}" ignoreCase="true" matchType="Pattern" negate="false" pattern="OFF" />
        </conditions>
        <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
      </rule>
    </globalRules>
  </rewrite>
</system.webServer>

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım