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 errorcontrolador para realizar una 302 redirectdirecció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 redirecten 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 PatternUso:
WildcardsPatrón:
*Ignorar mayúsculas y minúsculas: Marcado
Condiciones
Agrupación lógica:
Match AnyEntrada de condición :
{HTTPS}Verificar si cadena de entrada:
Matches the PatternPatrón:
OFFIgnorar 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:
RedirectRedirigir 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