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;

  1. Instalar el módulo de reescritura de URL de Microsoft
  2. Instalar su certificado SSL en IIS 7 y vincularlo a su sitio web
  3. 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)

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

  5. 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:

  1. Instala tu certificado SSL en IIS 7 y enlázalo a tu sitio web
  2. En IIS, haz clic en el nombre del sitio, y ve a la sección de Configuración SSL

  3. Marca Requerir SSL y Requerir SSL de 128 bits y haz clic en Aplicar

  4. Después de hacer esto, los usuarios normalmente recibirán este error:

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

  6. Guarde el archivo como redirectToHttps.htm en su directorio C:\etpub
  7. De nuevo en IIS, haga clic en el nombre del sitio y haga doble clic en la opción Páginas de error

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

  9. Seleccione el código de error y pulse Editar configuración de características…

  10. Haga clic en la opción Páginas de error personalizadas y busque de nuevo el archivo redirectToHttps.htm

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada.