Queremos que TODOS los sitios de nuestro servidor web (IIS 10) apliquen SSL (es decir, redirijan HTTP a HTTPS).
Actualmente estamos 'Requiriendo SSL' en cada sitio y configurando un 403 error
controlador para realizar una 302 redirect
dirección https para ese sitio específico.
Esto funciona muy bien. Pero es una tarea difícil para cada sitio, hay mucho espacio para el error humano.
Idealmente, me gustaría establecer un permanente 301 redirect
en todo HTTP://*
paraHTTPS://*
¿Hay una manera simple de hacer esto en IIS?
Respuestas:
IIS URL Rewrite Module 2.1 para IIS7 + puede ser tu amigo. El módulo se puede descargar desde IIS URL Rewrite . El uso del Módulo de reescritura de URL y la Referencia de configuración del Módulo de reescritura de URL 2.0 explica cómo utilizar el módulo.
Una vez que se instala el módulo, puede crear una redirección de todo el host utilizando el Administrador IIS. Seleccione URL Rewrite , Add Rule (s) ... y Blank rule .
Nombre:
Redirigir a HTTPS
URL de coincidencia URL
solicitada:
Matches the Pattern
Uso:
Wildcards
Patrón:
*
Ignorar mayúsculas y minúsculas: Marcado
Condiciones
Agrupación lógica:
Match Any
Entrada de condición :
{HTTPS}
Verificar si cadena de entrada:
Matches the Pattern
Patrón:
OFF
Ignorar mayúsculas y minúsculas: Marcado
Seguimiento de captura de grupos entre condiciones: No marcado
Variables del servidor
Dejar en blanco.
Acción
Tipo de acción:
Redirect
Redirigir URL:
https://{HTTP_HOST}{REQUEST_URI}
Añadir cadena de consulta: Sin marcar
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:
fuente
Mi investigación muestra que esta podría ser una mejor manera de redirigir:
fuente