O site mostra o certificado errado? Encontre o ouvinte
Um site apresenta um certificado inesperado e o arquivo óbvio é reescrito. Identifique o ouvinte e o host virtual que respondeu primeiro.
Instalar software VPN num host web pode reorganizar serviços, mas um certificado inesperado não prova que os arquivos do Apache foram reescritos. Algo apresentou esse certificado ao seu navegador, e a primeira tarefa é nomeá-lo. Até que o ouvinte e o host virtual sejam identificados, toda reparação é um palpite aplicado à camada errada. Toda a verificação abaixo é somente leitura.
Nada é reiniciado, desinstalado ou sobrescrito enquanto reúne os fatos que decidem o caso.
Leia o certificado que o navegador realmente recebeu
Anote o nome do host, o endereço resolvido para cada família, a porta e os detalhes do certificado de que o navegador reclamou. Um nome que resolve tanto para um registro A quanto para um AAAA pode chegar a duas frentes diferentes, e apenas uma delas pode ser o host ao qual você tem acesso de shell. Um navegador atrás de um proxy pode pegar um terceiro caminho novamente. Adivinhar qual deles produziu o aviso desperdiça a única observação que você tem.
Depois reproduza o handshake a partir de uma máquina no mesmo caminho, nomeando o endereço explicitamente e enviando o nome de servidor pretendido para que a resposta reflita o site e não o host padrão.
openssl s_client -connect 198.51.100.37:443 -servername www.example.net </dev/null 2>/dev/null |
openssl x509 -noout -subject -issuer -fingerprint -sha256 -ext subjectAltName
Compare os nomes alternativos do sujeito e a impressão digital com o certificado que você espera, não com um emissor conhecido. Conectar-se a um endereço nu sem o nome de servidor pode selecionar um certificado padrão, que então parece o arquivo errado quando na verdade é a pergunta errada.
Identifique o processo vinculado a essa porta
No host que deve receber a conexão, liste os ouvintes e anote o endereço de vinculação, a família de endereços e o proprietário do processo. Um serviço vinculado ao endereço de loopback não é o mesmo que um vinculado a todas as interfaces, e uma publicação de contêiner pode colocar o ouvinte público num lugar completamente diferente.
sudo ss -ltnp 'sport = :443'
sudo ss -ltnp | grep -E ':(443|943)\b'
Se o TLS é terminado por um balanceador de carga ou um proxy à frente, pare aqui e inspecione essa frente em vez disso. A instância do Apache atrás dele pode nunca apresentar um certificado a um navegador público, então editar sua configuração não muda nada do que o navegador vê. A visão dos sockets e o handshake externo precisam descrever o mesmo caminho, e é isso que esta comparação estabelece.
Combine o host virtual antes do arquivo
Quando o Apache é o terminador, pergunte a ele qual host virtual vence para esse endereço e nome. O comando de controle imprime o layout efetivo, incluindo o grupo associado a cada socket, os nomes de servidor declarados e o host tratado como padrão. Editar um arquivo de certificado sem essa resposta é como o site errado acaba sendo servido a partir de um arquivo correto.
sudo apachectl -S
As perguntas frequentes sobre SSL do Apache explicam como a indicação de nome de servidor seleciona um certificado. O cabeçalho Host do HTTP chega depois do handshake e não pode alterar retroativamente o que já foi apresentado, então um nome não correspondente ou ausente recai no host padrão.
Um host virtual nomeado com um erro de digitação em ServerAlias produz exatamente este sintoma, e também um segundo arquivo de configuração que carregue primeiro um host que captura tudo. Ambos são visíveis nessa listagem de layout.
Verifique a correção em cada caminho que você afirma
Após uma mudança aprovada, repita a verificação específica do nome do host para cada família de endereços e termine com a validação comum do navegador em vez de uma sinalização de contorno. Preserve um caminho de administração separado antes de tocar nas configurações compartilhadas do ouvinte, porque um erro ali remove o acesso que você usaria para desfazê-lo. Depois anote qual ouvinte respondeu, qual host virtual correspondeu e qual certificado foi servido antes e depois.
Remover um pacote pode mudar o layout e deixar a discrepância original sem explicação, e é por isso que esse registro sobrevive à reparação.
O que você quer é o site pretendido no ponto de entrada pretendido. Um certificado diferente depois que um serviço não relacionado desapareceu não é esse resultado, mesmo quando o navegador para de reclamar.