ForHosting KIT · Outils pour développeurs

Créez une valeur d’en-tête HSTS avec max-age et preload

Une durée de 31536000 secondes avec les deux options activées donne une seule ligne : max-age d’abord, puis includeSubDomains, puis preload. Collez-la dans votre serveur ou votre règle de proxy sans assembler de fragments à la main. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Âge maximal (max-age)
31 536 000
Vous obtenez
Valeur
max-age=31536000; includeSubDomains; preload

Ce générateur de valeur d’en-tête HSTS transforme une durée en secondes et deux options booléennes explicites en une valeur Strict-Transport-Security correctement ordonnée. Il commence toujours par la directive max-age obligatoire, puis ajoute includeSubDomains et preload uniquement si vous le demandez. Les durées négatives et les types de champs incorrects sont refusés au lieu de produire une configuration apparemment plausible qui ne traduit pas la politique voulue.

Choisissez consciemment la durée de la politique max-age

Ce générateur accepte cette durée sous forme d’entier positif ou nul et l’inscrit en première position, sans notation exponentielle, arrondi ni unité ajoutée. Zéro est une valeur valide, souvent employée pour demander aux navigateurs de supprimer une politique HSTS précédemment enregistrée. Une valeur positive maintient la politique jusqu’à l’expiration de la durée mémorisée ou jusqu’à son remplacement par une nouvelle réponse valide.

Choisissez ce nombre selon votre stratégie de déploiement et de retour arrière, et non comme un simple détail de formatage. L’outil refuse les valeurs fractionnaires, absentes, non numériques ou négatives, qui ne peuvent pas représenter sûrement le nombre entier de secondes requis.

Mesurez la portée de includeSubDomains et preload

Inventoriez les zones DNS déléguées et les services administrés séparément avant de l’activer. Le jeton preload joue un autre rôle : il signale une intention liée aux programmes de préchargement des navigateurs, mais son ajout ne soumet pas le domaine, ne garantit pas son acceptation et ne modifie aucune liste immédiatement. Ces programmes appliquent leurs propres conditions actuelles d’admission et de retrait, à consulter séparément.

Le générateur autorise les deux options indépendamment, car il construit une valeur déterministe sans faire respecter les règles d’un programme particulier. Les jetons sélectionnés conservent leur graphie conventionnelle après max-age dans un ordre stable; les options absentes ou fausses sont omises. Cette stabilité simplifie les revues, les tests de référence et les différences entre configurations générées.

Déployez et contrôlez prudemment la valeur produite

Copiez la valeur renvoyée dans l’en-tête de réponse Strict-Transport-Security, sans la considérer comme une ligne d’en-tête complète. La configuration d’un serveur web comporte généralement un champ pour le nom et un autre pour la valeur. Testez la réponse finale à la périphérie publique, car le code applicatif, un proxy, un réseau de diffusion ou un panneau d’hébergement peut remplacer, dupliquer ou supprimer l’en-tête.

Un déploiement progressif peut commencer par une courte durée positive, avec surveillance puis augmentation planifiée après validation de tous les hôtes concernés. Si includeSubDomains est actif, testez également plusieurs hôtes imbriqués. Si preload est actif, confirmez séparément l’éligibilité du domaine avant sa soumission.

La fonction est pure et déterministe : des entrées identiques produisent toujours la même chaîne, aucune requête ne sort de l’environnement et aucune configuration n’est conservée.

Générez une configuration de proxy inverse

Transformez des paramètres HSTS validés en valeur stable pour un proxy, un répartiteur ou une règle périphérique.

Uniformisez vos modèles d’infrastructure

Conservez la même graphie et le même ordre des directives entre environnements, sans assemblage manuel.

Préparez un déploiement HSTS

Comparez des politiques courtes, longues, étendues aux sous-domaines et prêtes au préchargement avant la production.

Le résultat contient-il le nom de l’en-tête ?

Non. La valeur est destinée au champ Strict-Transport-Security configuré par votre serveur, proxy ou application.

max-age peut-il valoir zéro ?

Oui. Zéro est une valeur valide et demande à un navigateur compatible d’expirer la politique HSTS enregistrée pour cet hôte.

Que se passe-t-il si max-age est négatif ?

La requête échoue avec une erreur d’entrée invalide, car une durée négative ne forme pas une directive max-age valide.

Le jeton preload inscrit-il mon domaine sur une liste ?

Non. Il ajoute seulement le jeton à la valeur. L’admission, la soumission et le retrait relèvent de procédures distinctes.

Faut-il toujours activer includeSubDomains ?

Non, seulement si chaque sous-domaine fonctionne en connexion sécurisée. Sinon, un sous-domaine de test, d’un prestataire ou ancien peut devenir inaccessible. Recensez d’abord vos zones et services avant d’activer cette option.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/security/hsts-header-build

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/security/hsts-header-build \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"max_age":31536000}'
{
  "max_age": 31536000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "security.hsts_header_build",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Le résultat est prêt pour un en-tête de réponse HTTPS, une règle de proxy inverse ou un modèle d’infrastructure.

Choisissez consciemment la durée de la politique max-age

La directive obligatoire max-age indique à un navigateur compatible pendant combien de secondes il doit mémoriser qu’un hôte doit être contacté exclusivement en HTTPS. Avant de l’augmenter, vérifiez que HTTPS fonctionne sur tous les parcours, que les certificats sont renouvelés de manière fiable et que les redirections ne masquent aucune dépendance limitée à HTTP. La sortie est seulement une valeur : votre serveur ou proxy doit l’associer au nom Strict-Transport-Security dans une réponse HTTPS.

Mesurez la portée de includeSubDomains et preload

Activez includeSubDomains lorsque la politique imposant HTTPS doit couvrir l’hôte nommé ainsi que tous les hôtes qui en dépendent. Ce choix peut protéger toute une arborescence, mais il peut aussi rendre inaccessible un sous-domaine de développement, un service ancien ou une ressource exploitée par un prestataire sans HTTPS opérationnel.

Déployez et contrôlez prudemment la valeur produite

Envoyez HSTS uniquement sur HTTPS : les navigateurs l’ignorent lorsqu’il arrive par une connexion non sécurisée, et une simple redirection HTTP n’installe pas la politique mémorisée. L’exécution dans le navigateur est locale; chaque requête automatisée à l’API coûte $0.002.

Faut-il toujours activer includeSubDomains ?

Uniquement après avoir vérifié que tous les sous-domaines concernés disposent d’un HTTPS fiable. La directive couvre toute l’arborescence.

Quel est le prix d’une requête API ?

Chaque requête API coûte $0.002. Le même générateur pur peut fonctionner localement dans le navigateur.

Consulter la documentation complète du KIT →