Crie um valor de cabeçalho HSTS com max-age e preload
Uma duração de 31536000 segundos com as duas opções ativadas vira uma única linha: primeiro max-age, depois includeSubDomains e por fim preload. Cole no seu servidor ou na regra do proxy sem juntar pedaços à mão. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Idade máxima (max-age)
- 31.536.000
- Valor
- max-age=31536000; includeSubDomains; preload
Este gerador de valor de cabeçalho HSTS transforma uma duração em segundos e duas opções booleanas claras em um valor Strict-Transport-Security ordenado corretamente. Ele sempre começa com a diretiva obrigatória max-age e só acrescenta includeSubDomains e preload quando você solicita. Durações negativas e tipos de campo incorretos são rejeitados, em vez de virarem uma configuração aparentemente plausível que não representa a política desejada.
Escolha max-age como uma duração de política consciente
Este gerador recebe a duração como um inteiro não negativo e a escreve como primeira diretiva, sem notação exponencial, arredondamento ou unidade adicional. O valor zero é válido e costuma ser usado para pedir aos navegadores que removam uma política HSTS armazenada anteriormente. Valores positivos mantêm a política ativa até o término do prazo lembrado ou até que uma nova resposta válida a substitua.
Escolha o número conforme seu processo de implantação e seu plano de reversão, e não como mero detalhe de formatação. A ferramenta rejeita valores fracionários, ausentes, não numéricos e negativos porque eles não representam com segurança a diretiva obrigatória em segundos inteiros.
Entenda o alcance de includeSubDomains e preload
Faça um inventário das zonas DNS delegadas e dos serviços administrados de forma independente antes de ativá-la. O token preload é diferente: ele manifesta uma intenção ligada aos programas de pré-carregamento dos navegadores, mas adicionar a palavra não envia um domínio, não garante aceitação nem altera imediatamente uma lista. Esses programas possuem requisitos atuais próprios para inclusão e remoção, que você deve consultar separadamente.
O gerador permite cada opção de forma independente porque seu trabalho é construir o cabeçalho de maneira determinística, e não impor a política de um programa específico. Quando selecionados, os tokens usam a grafia convencional e aparecem depois de max-age em ordem estável. Quando omitidos ou falsos, não aparecem.
Essa ordem facilita revisões, testes de referência e comparações de infraestrutura gerada.
Implante e verifique o valor gerado com segurança
Copie o valor retornado para o cabeçalho de resposta Strict-Transport-Security, em vez de tratá-lo como uma linha de cabeçalho completa. A configuração do servidor web normalmente oferece um campo para o nome e outro para o valor. Teste a resposta final na borda pública, pois o código da aplicação, um proxy, uma rede de distribuição ou o painel de hospedagem pode substituir, duplicar ou remover o cabeçalho.
Uma implantação gradual pode começar com uma duração positiva curta, seguida de monitoramento e aumento planejado quando todos os hosts relevantes demonstrarem confiabilidade. Se includeSubDomains estiver ativo, teste hosts aninhados representativos. Se preload estiver ativo, confirme separadamente os requisitos do programa antes de enviar o domínio.
A função é pura e determinística: entradas idênticas sempre geram a mesma string, nenhuma solicitação sai do ambiente e nenhuma configuração é armazenada.
Casos de uso
Gere configuração de proxy reverso
Converta opções HSTS revisadas em um valor estável para proxy, balanceador de carga ou regra de borda.
Padronize modelos de infraestrutura
Produza a mesma grafia e ordem de diretivas em todos os ambientes sem montar strings manualmente.
Planeje uma implantação de HSTS
Compare políticas curtas, longas, abrangentes para subdomínios e prontas para pré-carregamento antes de alterar a produção.
Perguntas frequentes
O resultado inclui o nome do cabeçalho?
Não. O valor deve ser usado no campo Strict-Transport-Security configurado por seu servidor, proxy ou aplicação.
max-age pode ser zero?
Sim. Zero é um valor não negativo válido e solicita que um navegador compatível expire a política HSTS armazenada para o host.
O que ocorre quando max-age é negativo?
A solicitação falha com erro de entrada inválida, pois uma duração negativa não pode formar uma diretiva max-age válida.
Adicionar preload coloca meu domínio em uma lista?
Não. Isso apenas adiciona o token ao valor. Os programas possuem processos separados de qualificação, envio e remoção.
Devo sempre ativar includeSubDomains?
A diretiva estende a política por toda a árvore.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
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}'const res = await fetch("https://api.kit.forhosting.com/security/hsts-header-build", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"max_age": 31536000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/security/hsts-header-build",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"max_age": 31536000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/security/hsts-header-build", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"max_age":31536000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"max_age":31536000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/security/hsts-header-build", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"max_age": 31536000
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "security.hsts_header_build",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
O resultado fica pronto para um cabeçalho de resposta HTTPS, uma regra de proxy reverso ou um modelo de infraestrutura.
Escolha max-age como uma duração de política consciente
A diretiva obrigatória max-age informa a um navegador compatível por quantos segundos ele deve se lembrar de que um host só pode ser acessado por HTTPS. Antes de aumentá-lo, confirme que HTTPS funciona em todas as rotas, que os certificados são renovados com confiabilidade e que redirecionamentos não escondem dependências disponíveis apenas em HTTP. A saída contém somente o valor; seu servidor ou proxy deve anexar o nome Strict-Transport-Security a uma resposta HTTPS.
Entenda o alcance de includeSubDomains e preload
Ative includeSubDomains quando a política exclusiva de HTTPS tiver de abranger o host indicado e todos os hosts abaixo dele. Essa escolha pode proteger uma árvore inteira de domínios, mas também pode tornar inacessível um subdomínio de desenvolvimento, fornecedor ou sistema legado que não tenha HTTPS funcional.
Implante e verifique o valor gerado com segurança
Envie HSTS somente por HTTPS: navegadores o ignoram quando recebido por uma conexão insegura, e um redirecionamento HTTP isolado não estabelece a política lembrada. O navegador executa localmente; cada solicitação automatizada à API custa US$ 0,002.
Perguntas técnicas
Quanto custa uma solicitação à API?
Cada solicitação à API custa US$ 0,002. O mesmo gerador puro pode ser executado localmente no navegador.