Saltar al contenido

Prueba de HTTPS y cabeceras de seguridad

Respuesta breve

Comprueba el HTTPS, la redirección de HTTP a HTTPS, el contenido mixto, HSTS y las cabeceras de seguridad e indexación que envía tu página.

Lo que no hace: No examina el certificado TLS ni su fecha de caducidad (eso lo hace la comprobación de disponibilidad) y revisa las cabeceras de la única URL que introduces.

Gratis · Sin registro · Obtenido por nuestro servidor
Obtenemos la URL desde nuestro servidor para hacer la comprobación. Los resultados no se guardan.

Qué hace

Prueba la configuración HTTPS de un sitio y las cabeceras de respuesta que la protegen. La parte de HTTPS comprueba que la página carga por HTTPS, que HTTP normal redirige a ella de forma permanente, que la página segura no carga nada por HTTP normal y que HSTS está configurado con un max-age suficientemente largo. La parte de cabeceras comprueba X-Content-Type-Options, Content-Security-Policy, la protección contra clickjacking, si el servidor revela su tecnología y si una cabecera X-Robots-Tag mantiene la página fuera de los resultados de búsqueda.

Por qué importa

HTTPS es una señal de posicionamiento ligera de Google desde 2014, y los navegadores marcan las páginas HTTP normales como no seguras. Una redirección temporal, una cabecera HSTS ausente o una cabecera `noindex` perdida son fáciles de pasar por alto, porque la página sigue viéndose bien en el navegador.

Cómo funciona

  1. Introduce la URL de una página

  2. Solicitamos la página HTTPS y la versión HTTP normal de la misma dirección

  3. Comprobamos la redirección, HSTS y el contenido mixto, y luego leemos las cabeceras de respuesta

  4. Devolvemos un resultado por cada parte, con lo que hay que corregir

Ejemplo de entrada y salida

ENTRADA
url: https://rankproof.eu
SALIDA
HTTPS y redirecciones
  el sitio carga por HTTPS                  OK
  redirección HTTP → HTTPS: 301             OK
  contenido mixto en la página segura: 0    OK
  HSTS max-age: 365 días                    OK

Cabeceras de seguridad e indexación
  X-Content-Type-Options configurada        OK
  Content-Security-Policy configurada       OK
  protección contra clickjacking            OK
  tecnología del servidor oculta            OK
  la página es indexable                    OK

2 de 2 áreas están bien

Cómo leer el resultado

Dos partes
El informe tiene una parte de HTTPS y redirecciones y otra de cabeceras de seguridad e indexación. Cada una tiene su propia puntuación, y el resumen solo se pone en verde cuando ambas lo están, así que unas cabeceras perfectas no pueden ocultar una redirección que falta.
El sitio carga por HTTPS
La dirección que introdujiste respondió por HTTPS. Si introduces una dirección http://, esta comprobación falla, así que introduce la dirección https:// que quieres que usen los visitantes.
Redirección HTTP → HTTPS (301 en el ejemplo)
Pedimos la versión http:// simple de la misma dirección sin seguir redirecciones. Un 301 o 308 a una dirección https:// pasa; un 302 o 307 temporal resta puntos, porque los buscadores pueden seguir mostrando la dirección http://. Si el HTTP simple no responde en absoluto, no cuenta en tu contra.
Contenido mixto (0)
Imágenes, scripts, hojas de estilo, frames y otros recursos que la página segura carga por http:// simple. Los navegadores bloquean los scripts y frames inseguros y bloquean o actualizan los medios inseguros, así que cada uno está roto o es un aviso en la barra de direcciones.
HSTS max-age (365 días)
Durante cuánto tiempo se indica a los navegadores que usen solo HTTPS para el sitio. Un año o más pasa; un valor menor o la falta de cabecera recibe una advertencia. includeSubDomains y preload no puntúan.
Cabeceras de seguridad
X-Content-Type-Options evita que los navegadores adivinen tipos de archivo; Content-Security-Policy limita desde dónde pueden cargarse scripts; X-Frame-Options o la directiva frame-ancestors impide que otros sitios enmarquen tu página (clickjacking). «Tecnología del servidor oculta» significa que ninguna cabecera X-Powered-By nombra tu software.
La página es indexable
Una cabecera X-Robots-Tag con noindex deja la página fuera de los resultados de búsqueda sin aparecer en ningún lugar del HTML. Es el único problema de cabeceras que pone esta parte en rojo por sí solo.

Quién lo usa

  • Ingeniero/a de DevOps

    Ejecútala tras un cambio de servidor o CDN para confirmar que la redirección, HSTS y las cabeceras de seguridad se mantienen.

  • Auditor/a de seguridad

    Revisa cada dominio de producción en busca de contenido mixto, HSTS débil y cabeceras de seguridad ausentes.

  • Especialista en SEO

    Antes de que una migración se publique, confirma que HTTP redirige de forma permanente y que ninguna cabecera bloquea la indexación.

Problemas frecuentes y cómo solucionarlos

  1. El HTTP no redirige, o redirige con 302

    Redirige cada petición HTTP simple a la misma ruta en HTTPS con un 301, en el servidor web o la CDN y no en el código de la página, para cubrir también imágenes y archivos.

    # nginx
    server {
      listen 80;
      server_name example.com www.example.com;
      return 301 https://example.com$request_uri;
    }
  2. Contenido mixto en la página segura

    Cambia las direcciones de recursos de http:// a https:// o, para tus propios archivos, a rutas relativas. Si un tercero no tiene versión HTTPS, aloja el archivo tú mismo o elimínalo. La directiva upgrade-insecure-requests puede actualizar el resto mientras los corriges.

    Content-Security-Policy: upgrade-insecure-requests
  3. Sin HSTS, o con un max-age corto

    Añade Strict-Transport-Security cuando todas las páginas funcionen por HTTPS y sube max-age a un año como mínimo (31536000 segundos). Añade includeSubDomains solo cuando todos los subdominios tengan HTTPS, y preload al final: salir de las listas de precarga es lento.

    Strict-Transport-Security: max-age=31536000; includeSubDomains
  4. Faltan cabeceras de seguridad

    Envía X-Content-Type-Options: nosniff en cada respuesta. Contra el clickjacking, frame-ancestors en Content-Security-Policy es el estándar actual y X-Frame-Options cubre navegadores antiguos. Una política completa para scripts requiere pruebas, así que empieza por estas dos y amplíala poco a poco.

    X-Content-Type-Options: nosniff
    Content-Security-Policy: frame-ancestors 'self'
    X-Frame-Options: SAMEORIGIN
  5. Una cabecera noindex que no pusiste

    Busca X-Robots-Tag en la configuración del servidor, la CDN o el framework; una configuración copiada de un sitio de pruebas es una de las formas en que ocurre. Quítala de las páginas que deben encontrarse y solicita la indexación de la página en Search Console.

  6. Las cabeceras nombran el software del servidor

    Desactiva X-Powered-By (y los números de versión de la cabecera Server) en la configuración del framework o del servidor. No detiene ataques, pero deja de anunciar qué versión atacar.

    # php.ini
    expose_php = Off
    
    // Express (Node.js)
    app.disable('x-powered-by');

Preguntas frecuentes

¿Comprueba el certificado SSL/TLS?
No. Comprueba si la página carga por HTTPS, cómo redirige HTTP hacia ella, HSTS, el contenido mixto y las cabeceras de respuesta. No inspecciona el certificado ni su fecha de caducidad.
¿Qué es HSTS?
HTTP Strict Transport Security: una cabecera que indica a los navegadores que usen HTTPS para tu dominio incluso cuando alguien escribe `http://`. Apunta a un max-age de al menos un año.
¿Qué es el contenido mixto?
Una página HTTPS que carga recursos (imágenes, scripts, CSS) por HTTP normal. Los navegadores bloquean los scripts inseguros y actualizan o advierten sobre las imágenes inseguras.
¿Qué cabeceras se comprueban?
X-Content-Type-Options, Content-Security-Policy, X-Frame-Options o la directiva frame-ancestors de la CSP, X-Powered-By y X-Robots-Tag. El informe también enumera las cabeceras de respuesta que devolvió la página.
¿Cómo puede una cabecera bloquear la indexación?
Una cabecera `X-Robots-Tag: noindex` mantiene una página fuera de los resultados de búsqueda igual que una etiqueta meta robots, pero no aparece en el código fuente de la página, así que a menudo pasa desapercibida.
¿Cuándo debería ejecutarla?
Después de una migración, y después de cualquier cambio de servidor o CDN.

Fuentes

La documentación en la que se basan esta herramienta y las explicaciones de esta página.