Cabeçalho HSTS não definido com configuração www e não www

Olá,

Estou usando a instalação padrão.

É isso que modifiquei em app.yml:

hooks:   
## Adicionar certificado Let's Encrypt para nome de domínio não-www e www   
  after_ssl:     
    - replace:         
        filename: "/etc/runit/1.d/letsencrypt"         
        from: /--keylength/         
        to: "-d example.com -d www.example.com --keylength"

O nome do host para o seu Discourse é: www.example.com

Até agora, a configuração funciona e o certificado é entregue para example.com e www.example.com.

Mas quando verifico o parâmetro SSL com SSLLabs, o cabeçalho HSTS está faltando para o domínio www.example.com. Para example.com está funcionando:

Strict Transport Security (HSTS) Sim
max-age=31536000; includeSubdomains; preload

E Hardenize (www.hardenize.com) diz o seguinte:

Redirecionamento de HTTP para HTTPS não para o mesmo host

Quando o HSTS é usado, a porta em texto simples deve redirecionar para a variante HTTPS do mesmo nome de host. Essa abordagem garante que o HSTS esteja ativado nesse nome de host, mesmo que posteriormente o cliente seja enviado para outro lugar. Um redirecionamento para outro host só é seguro se for para um host pai que tenha HSTS com includeSubDomains ativado, mas não é o caso aqui.

Ponto de partida: http://example.de

Redirecionamento atual: https://www.example.com

Redirecionamento esperado: https://example.com

Política não pré-carregada
Quando um nome de host é pré-carregado, isso significa que os navegadores incorporam sua política HSTS e a aplicam mesmo ao primeiro acesso ao seu site. Este servidor indica o pré-carregamento em sua política, mas o nome de domínio não está realmente pré-carregado. Classificamos isso como um aviso porque é um problema comum colocar a palavra ‘preload’ na política, embora a infraestrutura não esteja pronta para o pré-carregamento. Isso é perigoso porque, nessa situação, qualquer pessoa pode enviar este nome de domínio para pré-carregamento apenas visitando hstspreload.org. Recomendamos que você pré-carregue este nome de domínio você mesmo — se estiver pronto — ou remova o indicador de pré-carregamento da política até que esteja pronto.

Alguma ideia de por que o cabeçalho HSTS NÃO está definido para o domínio www.example.com?

1 curtida

Interessante, recentemente fiz a migração para o subdomínio www e meu apex está sem HSTS, mas me pergunto se isso tem a ver com o redirecionamento e a falta de resposta direta do servidor? O apex ainda recebe uma classificação ‘A’ (embora menor)… isso afetaria a reputação do servidor, SEO? As coisas estão definitivamente funcionando bem sem isso.

Não sei se isso é útil?:

Você precisará examinar mais atentamente o web.template.yml e os arquivos de configuração nginx resultantes e, em seguida, adicionar coisas para fazer o nginx fazer o que você deseja.

1 curtida