O aviso "Strict-Transport-Security" do Nextcloud significa que a verificação não encontrou um cabeçalho HSTS com um tempo de resposta max-agede pelo menos 15552000180 dias (segundos) na resposta HTTPS pública. Adicione o cabeçalho no servidor web ou proxy reverso que serve HTTPS e teste esse URL público específico. O HSTS não é uma configuração do Nextcloud config.phpe uma resposta HTTP simples não pode estabelecer uma política HSTS nos navegadores.
O que verificar antes de alterar a configuração
- Confirme se o site Nextcloud carrega corretamente via HTTPS e apresenta um certificado válido para seu nome de host.
- Identifique qual serviço encerra o TLS: Apache, NGINX, um balanceador de carga, um ingress de contêiner ou um proxy externo.
- Verifique se esse serviço já está configurado
Strict-Transport-Security. Envie uma política específica a partir do endpoint TLS público; cabeçalhos duplicados ou conflitantes podem confundir a verificação. - Verifique se todos os subdomínios estão prontos para HTTPS antes de adicionar o recurso
includeSubDomains. Não habilite o recurso preloadcomo uma forma rápida de eliminar este aviso.
O HSTS informa aos navegadores que as conexões futuras a um nome de host devem usar HTTPS. Isso ajuda a evitar o downgrade para HTTP depois que um navegador recebe a política. Ele não substitui o TLS, não corrige um certificado inválido nem redireciona a primeira visita HTTP; configure também um redirecionamento HTTP para HTTPS separado. O Manual de Administração do Nextcloud 35 identifica o mínimo de 15552000 segundos e recomenda definir o cabeçalho no servidor web. O ponto de aplicação real em uma implementação de proxy é o componente que retorna a resposta ao visitante.
Estabelecer uma política básica
Uma política inicial conservadora para um nome de host do Nextcloud é:
Strict-Transport-Security: max-age=15552000
Isso atende ao tempo de vida mínimo dos documentos do Nextcloud sem aplicar automaticamente uma política a cada subdomínio. Depois de confirmar que todos os subdomínios relevantes suportam HTTPS continuamente, você pode considerar adicionar a diretiva ; includeSubDomains`https://`. Um navegador que aprendeu essa diretiva também exigirá HTTPS para esses subdomínios. Um painel interno, servidor de e-mail ou serviço legado que ainda depende de HTTP pode ficar inacessível nesse navegador até que seja migrado ou a política expire.
Apache
Para um host virtual TLS do Apache, habilite mod_headerse coloque a diretiva dentro do host virtual HTTPS, e não apenas no host de redirecionamento da porta 80:
<VirtualHost *:443>
ServerName cloud.example.com
# Keep the existing TLS and Nextcloud configuration here.
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000"
</IfModule>
</VirtualHost>
Substitua o nome de host de exemplo e mantenha seu certificado e configuração de proxy ou PHP existentes. O exemplo de reforço de segurança do Apache do Nextcloud usa Header always seto host virtual HTTPS. Valide a configuração do Apache com o comando `config-test` compatível com sua distribuição e, em seguida, recarregue o Apache somente se o teste for bem-sucedido.
NGINX
No NGINX, adicione o cabeçalho dentro do serverbloco que escuta HTTPS no hostname público do Nextcloud:
server {
listen 443 ssl;
server_name cloud.example.com;
# Keep your existing TLS and Nextcloud locations here.
add_header Strict-Transport-Security "max-age=15552000" always;
}
Não cole este código como substituto completo da configuração existente do servidor. A herança de cabeçalhos do NGINX pode depender de se um local aninhado define suas próprias add_headerdiretivas; inspecione a configuração efetiva e teste respostas representativas, incluindo ativos estáticos e endpoints DAV. O exemplo oficial do Nextcloud para NGINX inclui uma configuração HSTS em sua configuração HTTPS e alerta os administradores sobre a ativação do preload.
Proxy reverso ou entrada
Se um balanceador de carga, ingress ou proxy hospedado encerrar o HTTPS antes de encaminhar o tráfego para o Nextcloud, configure o HSTS nessa camada TLS pública, a menos que sua arquitetura o adicione deliberadamente em um upstream confiável. Um cabeçalho adicionado apenas pelo backend pode ser removido ou substituído pelo proxy. Por outro lado, configurá-lo em ambas as camadas pode produzir valores duplicados. Verifique a configuração do cabeçalho de resposta do proxy e certifique-se de que sua rota HTTPS seja a que está sendo testada. Mantenha as configurações de proxy confiável e URL HTTPS do Nextcloud consistentes com a implantação existente, mas não considere essas configurações como um substituto para a emissão do cabeçalho.
Validar a resposta do público
- Utilize o verificador de sintaxe da plataforma para a configuração alterada do servidor web ou do proxy.
- Recarregue ou implemente a configuração validada.
- Solicite o endereço HTTPS público e inspecione os cabeçalhos da resposta:
curl -sSI https://cloud.example.com/. Procure por uma Strict-Transport-Securitylinha cujo valor max-ageseja pelo menos 15552000. - Nas ferramentas de desenvolvedor do navegador, inspecione a resposta do mesmo nome de host público. Isso pode revelar um proxy que altera cabeçalhos ou uma rota que ignora o host virtual esperado.
- Recarregue a página Administração → Visão geral do Nextcloud e permita que a verificação de segurança seja atualizada.
Se curlo cabeçalho HSTS não for exibido, confirme se o DNS aponta para o endpoint que você editou, se a solicitação usa HTTPS e se o proxy não está removendo o cabeçalho. Se o cabeçalho aparecer na página inicial, mas não em outras respostas, revise as diretivas de nível de localização do NGINX ou as regras de cabeçalho de resposta do proxy. Se a resposta pública estiver correta, mas o Nextcloud ainda exibir um aviso, verifique se a verificação administrativa usa o mesmo nome de host e esquema visíveis externamente e, em seguida, inspecione qualquer camada de cache ou proxy entre o servidor e a verificação.
Utilize o pré-carregamento somente após uma revisão completa do domínio.
O pré-carregamento é uma opção separada e de alto impacto. A diretiva de pré-carregamento em si não registra um domínio; as listas de pré-carregamento dos navegadores têm seus próprios requisitos de envio. As diretrizes atuais dos navegadores exigem um longo max-ageperíodo includeSubDomainsde espera para inscrição. O Nextcloud alerta que a remoção de uma lista de pré-carregamento padrão pode levar meses para ser refletida nos navegadores instalados. Comece com a política básica, faça um inventário de todos os nomes de host afetados, confirme se o HTTPS funciona em todo o domínio e revise os requisitos oficiais de pré-carregamento antes de aplicar. A maioria dos administradores do Nextcloud consegue resolver esse aviso específico sem optar pelo pré-carregamento.
Referências: Avisos de segurança do Nextcloud 35 , orientações para reforçar a segurança do Nextcloud , configuração do Nextcloud com NGINX e referência do cabeçalho HSTS da MDN .