Aller au contenu

Test HTTPS et en-têtes de sécurité

Réponse courte

Vérifiez le HTTPS, la redirection de HTTP vers HTTPS, le contenu mixte, HSTS et les en-têtes de sécurité et d'indexation envoyés par votre page.

Ce qu’il ne fait pas: Il n’examine ni le certificat TLS ni sa date d’expiration (le test de disponibilité le fait), et il vérifie les en-têtes de la seule URL que vous saisissez.

Gratuit · Sans inscription · Récupéré par notre serveur
Nous récupérons l'URL depuis notre serveur pour la vérification. Les résultats ne sont pas enregistrés.

Ce que ça fait

Teste la configuration HTTPS d'un site et les en-têtes de réponse qui la protègent. La partie HTTPS vérifie que la page se charge en HTTPS, que le HTTP simple redirige vers elle de façon permanente, que la page sécurisée ne charge rien en HTTP simple et que HSTS est défini avec un max-age suffisamment long. La partie en-têtes vérifie X-Content-Type-Options, Content-Security-Policy, la protection contre le détournement de clic (clickjacking), si le serveur révèle sa technologie et si un en-tête X-Robots-Tag exclut la page des résultats de recherche.

Pourquoi c'est important

HTTPS est un signal de classement Google léger depuis 2014, et les navigateurs marquent les pages en HTTP simple comme non sécurisées. Une redirection temporaire, un en-tête HSTS manquant ou un en-tête `noindex` égaré sont faciles à manquer, car la page a toujours l'air correcte dans un navigateur.

Comment ça fonctionne

  1. Saisissez l'URL d'une page

  2. Nous requêtons la page HTTPS et la version en HTTP simple de la même adresse

  3. Vérifions la redirection, HSTS et le contenu mixte, puis lisons les en-têtes de réponse

  4. Renvoyons un résultat pour chaque partie, avec ce qu'il faut corriger

Exemple d'entrée et de sortie

ENTRÉE
url: https://rankproof.eu
SORTIE
HTTPS et redirections
  le site se charge en HTTPS                OK
  redirection HTTP → HTTPS : 301            OK
  contenu mixte sur la page sécurisée : 0   OK
  HSTS max-age : 365 jours                  OK

En-têtes de sécurité et d'indexation
  X-Content-Type-Options défini             OK
  Content-Security-Policy défini            OK
  protection contre le clickjacking         OK
  technologie du serveur masquée            OK
  la page est indexable                     OK

2 zones sur 2 sont bonnes

Comment lire le résultat

Deux parties
Le rapport comporte une partie HTTPS et redirections et une partie en-têtes de sécurité et d'indexation. Chacune a son propre score, et le résumé ne passe au vert que si les deux le sont : des en-têtes parfaits ne peuvent pas cacher une redirection manquante.
Le site se charge en HTTPS
L'adresse saisie a répondu en HTTPS. Si vous saisissez une adresse http://, cette vérification échoue : saisissez l'adresse https:// que vous voulez voir utiliser par les visiteurs.
Redirection HTTP → HTTPS (301 dans l'exemple)
Nous demandons la version http:// simple de la même adresse sans suivre les redirections. Un 301 ou un 308 vers une adresse https:// réussit ; un 302 ou un 307 temporaire coûte des points, car les moteurs de recherche peuvent continuer à afficher l'adresse http://. Si le HTTP simple ne répond pas du tout, ce n'est pas compté contre vous.
Contenu mixte (0)
Images, scripts, feuilles de style, frames et autres ressources que la page sécurisée charge en http:// simple. Les navigateurs bloquent les scripts et frames non sécurisés et bloquent ou mettent à niveau les médias non sécurisés : chacun est donc cassé ou un avertissement dans la barre d'adresse.
HSTS max-age (365 jours)
La durée pendant laquelle les navigateurs doivent n'utiliser que HTTPS pour le site. Un an ou plus réussit ; une valeur plus courte ou l'absence d'en-tête reçoit un avertissement. includeSubDomains et preload ne sont pas notés.
En-têtes de sécurité
X-Content-Type-Options empêche les navigateurs de deviner les types de fichiers ; Content-Security-Policy limite l'origine des scripts ; X-Frame-Options ou la directive frame-ancestors empêche d'autres sites d'encadrer votre page (clickjacking). « Technologie du serveur masquée » signifie qu'aucun en-tête X-Powered-By ne nomme votre logiciel.
La page est indexable
Un en-tête X-Robots-Tag avec noindex retire la page des résultats de recherche sans apparaître nulle part dans le HTML. C'est le seul problème d'en-tête qui fait passer cette partie au rouge à lui seul.

Qui l'utilise

  • Ingénieur DevOps

    Exécutez-la après un changement de serveur ou de CDN pour confirmer que la redirection, HSTS et les en-têtes de sécurité ont survécu.

  • Auditeur en sécurité

    Passez en revue chaque domaine de production à la recherche de contenu mixte, de HSTS faible et d'en-têtes de sécurité manquants.

  • Spécialiste SEO

    Avant la mise en ligne d'une migration, confirmez que le HTTP redirige de façon permanente et qu'aucun en-tête ne bloque l'indexation.

Problèmes fréquents et comment les corriger

  1. Le HTTP ne redirige pas, ou redirige en 302

    Redirigez chaque requête HTTP simple vers le même chemin en HTTPS avec un 301, dans le serveur web ou le CDN plutôt que dans le code de la page, pour couvrir aussi images et fichiers.

    # nginx
    server {
      listen 80;
      server_name example.com www.example.com;
      return 301 https://example.com$request_uri;
    }
  2. Contenu mixte sur la page sécurisée

    Passez les adresses de ressources de http:// à https:// ou, pour vos propres fichiers, à des chemins relatifs. Si un tiers n'a pas de version HTTPS, hébergez le fichier vous-même ou supprimez-le. La directive upgrade-insecure-requests peut mettre à niveau le reste pendant que vous les traitez.

    Content-Security-Policy: upgrade-insecure-requests
  3. Pas de HSTS, ou un max-age court

    Ajoutez Strict-Transport-Security une fois que toutes les pages fonctionnent en HTTPS, et portez max-age à au moins un an (31536000 secondes). N'ajoutez includeSubDomains que si tous les sous-domaines ont HTTPS, et preload en dernier : on sort lentement des listes de préchargement.

    Strict-Transport-Security: max-age=31536000; includeSubDomains
  4. Des en-têtes de sécurité manquent

    Envoyez X-Content-Type-Options: nosniff sur chaque réponse. Contre le clickjacking, frame-ancestors dans Content-Security-Policy est la norme actuelle et X-Frame-Options couvre les anciens navigateurs. Une politique complète pour les scripts demande des tests : commencez par ces deux en-têtes et complétez ensuite.

    X-Content-Type-Options: nosniff
    Content-Security-Policy: frame-ancestors 'self'
    X-Frame-Options: SAMEORIGIN
  5. Un en-tête noindex que vous n'avez pas défini

    Cherchez X-Robots-Tag dans les réglages du serveur, du CDN ou du framework ; des réglages copiés d'un site de préproduction sont une des façons dont cela arrive. Retirez-le des pages qui doivent être trouvées, puis demandez l'indexation de la page dans la Search Console.

  6. Les en-têtes nomment votre logiciel serveur

    Désactivez X-Powered-By (et les numéros de version dans l'en-tête Server) dans les réglages du framework ou du serveur. Cela n'empêche pas les attaques, mais cesse d'annoncer quelle version viser.

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

Questions fréquentes

Vérifie-t-il le certificat SSL/TLS ?
Non. Il vérifie si la page se charge en HTTPS, comment le HTTP redirige vers elle, HSTS, le contenu mixte et les en-têtes de réponse. Il n'inspecte pas le certificat ni sa date d'expiration.
Qu'est-ce que HSTS ?
HTTP Strict Transport Security — un en-tête qui indique aux navigateurs d'utiliser HTTPS pour votre domaine même lorsque quelqu'un saisit `http://`. Visez un max-age d'au moins un an.
Qu'est-ce que le contenu mixte ?
Une page HTTPS qui charge des ressources (images, scripts, CSS) en HTTP simple. Les navigateurs bloquent les scripts non sécurisés et améliorent ou signalent les images non sécurisées.
Quels en-têtes sont vérifiés ?
X-Content-Type-Options, Content-Security-Policy, X-Frame-Options ou la directive CSP frame-ancestors, X-Powered-By et X-Robots-Tag. Le rapport liste aussi les en-têtes de réponse renvoyés par la page.
Comment un en-tête peut-il bloquer l'indexation ?
Un en-tête `X-Robots-Tag: noindex` exclut une page des résultats de recherche tout comme une balise meta robots, mais il n'apparaît pas dans le code source de la page, donc il passe souvent inaperçu.
Quand dois-je l'exécuter ?
Après une migration, et après tout changement de serveur ou de CDN.

Sources

La documentation sur laquelle reposent cet outil et les explications de cette page.