Uso de ASP para forzar SSL para páginas específicas

En este artículo se describe cómo usar Active Server Pages (ASP) para forzar la capa de sockets seguros (SSL) para páginas específicas sin realizar cambios en MMC.

Versión original del producto: Páginas de Microsoft Active Server
Número de KB original: 239875

Resumen

Con frecuencia, se recomienda requerir SSL para determinadas páginas de un sitio web. Aunque esto se puede configurar a través del Administrador de servicios de Internet (ISM) en Microsoft Management Console (MMC), también puede usar ASP para forzar SSL para páginas específicas sin realizar cambios en MMC.

Nota:

Se recomienda que todos los usuarios actualicen a Internet Information Services (IIS) versión 7.0 que se ejecuta en Windows Server 2008. IIS 7.0 aumenta significativamente la seguridad de la infraestructura web.

Requisitos previos

En este artículo se asumen las siguientes condiciones:

  • IIS se ejecuta en puertos estándar:

    • HTTP = puerto 80
    • HTTPS = puerto 443
  • IIS tiene instalado un certificado SSL válido.

  • El sitio web o servidor virtual que se usa no usa encabezados de host HTTP/1.1 para la resolución de nombres.

Forzar SSL mediante ASP

Para forzar SSL mediante ASP, siga estos pasos:

  1. Haga clic en Inicio, en Ejecutar, escriba Bloc de notasy, a continuación, haga clic en Aceptar.

  2. Pegue el código siguiente en un documento del Bloc de notas en blanco. En el menú Archivo , haga clic en Guardar como y, a continuación, guarde el código siguiente en la raíz del servidor web como un archivo de inclusión denominado ForceSSL.inc:

    <%
    If Request.ServerVariables("SERVER_PORT")=80 Then
        Dim strSecureURL
        strSecureURL = "https://"
        strSecureURL = strSecureURL & Request.ServerVariables("SERVER_NAME")
        strSecureURL = strSecureURL & Request.ServerVariables("URL")
        Response.Redirect strSecureURL
    End If
    %>
    
  3. Para cada página que requiera SSL, pegue el código siguiente en la parte superior de la página para hacer referencia al archivo de inclusión del paso anterior:

    <%@Language="VBSCRIPT"%>
    <!--#include virtual="/ForceSSL.inc"-->
    

Cuando se examina cada página, el código ASP contenido en el archivo de inclusión detecta el puerto para determinar si se usa HTTP. Si se usa HTTP, el explorador se redirigirá a la misma página mediante HTTPS.

Referencias