Resolver problemas

Corrigir conteúdo misto num site com HTTPS

Revisto a 3 min de leitura contenido mixto ssl

Há conteúdo misto quando uma página carregada por HTTPS pede recursos através de HTTP. Pode impedir que apareçam imagens ou que funcionem estilos e scripts, mesmo que o endereço principal continue a começar por https://.

Antes de atribuir o problema ao conteúdo misto, confirme que o certificado da página principal é válido para esse domínio. Um aviso de certificado e um recurso HTTP dentro de uma página HTTPS são incidentes diferentes.

Localizar o pedido inseguro

  1. Abra as ferramentas de programador e consulte Consola e Rede.
  2. Recarregue a página e procure avisos de conteúdo misto ou pedidos bloqueados.
  3. Guarde o URL HTTP completo e o ficheiro, modelo ou script que o pede. A coluna ou separador do iniciador ajuda a localizar a sua origem.
  4. Teste se esse recurso está disponível por HTTPS com um certificado válido e o conteúdo esperado.

O guia da consola do navegador explica como recolher estes dados.

Os navegadores bloqueiam conteúdo ativo inseguro, como scripts e estilos. Podem atualizar automaticamente para HTTPS algumas imagens, áudio ou vídeo; se o destino não funcionar por HTTPS, esses recursos falharão. Consulte o comportamento descrito em web.dev e verifique cada pedido, não apenas o ícone da barra.

Corrigi-lo na origem

Atualize os URLs guardados na aplicação, nos modelos, nos CSS ou na configuração do componente que os gera. Para recursos de terceiros, use um destino HTTPS válido ou substitua o recurso; mudar apenas o texto http para https não cria um serviço seguro onde ele não existe.

No WordPress, faça uma cópia antes de substituir URLs na base de dados e use uma ferramenta que respeite os dados serializados. Uma substituição SQL indiscriminada pode danificar opções de plugins ou temas.

Um plugin como o SSL Insecure Content Fixer pode reescrever alguns pedidos durante a resposta, mas não garante corrigir a base de dados, os CSS nem os recursos externos. Verifique a sua compatibilidade e o resultado numa cópia antes de o utilizar.

Verificar a solução

Limpe as caches afetadas depois de corrigir a origem. Volte a testar a página inicial e as páginas que incluem formulários, carrinho, pagamento ou conteúdo carregado dinamicamente. Confirme na Consola e em Rede que não restam avisos e que os recursos mostram o conteúdo esperado.

Não ative conteúdo inseguro no navegador dos seus visitantes como solução. Se a página principal continuar a mostrar um erro de certificado, volte ao diagnóstico de TLS: eliminar o conteúdo misto não corrige esse erro.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.