Comparar certificados SSL
Redirigir todo el tráfico de HTTP a HTTPS en IIS7 hará que sus usuarios siempre accedan al sitio de forma segura. Hay muchas formas diferentes de configurar un redireccionamiento de HTTP a HTTPS en IIS7 y algunas son mejores que otras. La redirección ideal de HTTP a HTTPS haría lo siguiente:
- Redirigir suavemente a los usuarios a HTTPS para que los usuarios no tengan que escribir «https» en la URL
- Redirigir a los usuarios a la página específica a la que iban a ir en HTTP (page.htm)
- Guardar cualquier variable pasada en la cadena de consulta (?page=2)
- Funciona en todos los navegadores
- Transfiere el PageRank a la página redirigida utilizando una redirección 301, manteniendo el SEO
- Permitir que partes específicas de un sitio fuercen el SSL pero permitir el HTTP en otras partes del sitio
- Redirigir a los usuarios de midominio.com a www.mydomain.com
Desgraciadamente, no hay una manera fácil de satisfacer todos estos requisitos, y la mayoría de los métodos sólo satisfacen algunos de ellos. El mejor método de hacer una redirección de HTTP a HTTPS que he visto implica el uso de ASP.Net para hacer la redirección de HTTP a HTTPS.
Pero la mayoría de la gente no necesita todas esas características, así que he enumerado dos de los mejores métodos de redirección de HTTP a HTTPS en IIS 7. Son fáciles de configurar y eficaces en la mayoría de las situaciones. Tenga en cuenta que estos métodos también deberían funcionar en IIS 8 e IIS 10 con algunas pequeñas modificaciones.
Método 1 – Utilizar el módulo de reescritura de URL de Microsoft
Para este método de redireccionamiento de HTTP a HTTPS, tendrá que hacer lo siguiente;
- Instalar el módulo de reescritura de URL de Microsoft
- Instalar su certificado SSL en IIS 7 y vincularlo a su sitio web
- Asegurarse de que la opción Requerir SSL NO está marcada en la configuración de SSL para su sitio web (desmarque las casillas que están marcadas en esta captura de pantalla)
- Copie y pegue el siguiente código entre las etiquetas <rules> y </rules> en su archivo web.config en el directorio raíz de su sitio web.
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule> - Pruebe el sitio yendo a http://www.yoursite.com y asegurándose de que redirige
Método 2 – Configurar una página de error personalizada
El segundo método para configurar una redirección HTTP a HTTPS de IIS7 es requerir SSL en el sitio o en parte del sitio y configurar una página de error 403.4 personalizada. Para ello, basta con seguir estos pasos:
- Instala tu certificado SSL en IIS 7 y enlázalo a tu sitio web
- En IIS, haz clic en el nombre del sitio, y ve a la sección de Configuración SSL
- Marca Requerir SSL y Requerir SSL de 128 bits y haz clic en Aplicar
- Después de hacer esto, los usuarios normalmente recibirán este error:
-
Cree un nuevo archivo de texto y pegue en él lo siguiente:
<html>
<head><title>Redirecting...</title></head>
<script language="JavaScript">
function redirectHttpToHttps()
{
var httpURL= window.location.hostname + window.location.pathname + window.location.search;
var httpsURL= "https://" + httpURL;
window.location = httpsURL;
}
redirectHttpToHttps();
</script>
<body>
</body>
</html> - Guarde el archivo como redirectToHttps.htm en su directorio C:\etpub
- De nuevo en IIS, haga clic en el nombre del sitio y haga doble clic en la opción Páginas de error
- Haga clic en Añadir… e introduzca 403.4 como código de estado. Busque el archivo redirectToHttps.htm que acaba de crear y haga clic en Aceptar
- Seleccione el código de error y pulse Editar configuración de características…
- Haga clic en la opción Páginas de error personalizadas y busque de nuevo el archivo redirectToHttps.htm
- Pruebe el sitio yendo a http://www.yoursite.com y asegurándose de que redirige
Una advertencia del uso de una página de error personalizada para hacer una redirección IIS7 de HTTP a HTTPS es que el navegador web debe tener JavaScript habilitado para que la redirección funcione.
Otros métodos para IIS7 redirigir HTTP a HTTPS:
- Redirigir de Http a Https en ASP.NET
- Soporte técnico de Microsoft – Cómo redirigir una conexión HTTP a HTTPS para clientes de Outlook Web Access y cómo redirigir el sitio web predeterminado para que apunte al directorio virtual de Exchange
- IIS 6 Redirigir HTTP a HTTPS
- Cambiar entre HTTP y HTTPS como un pez gordo
Publicado originalmente en Sat Feb 27, 2010