Instal·lar programari VPN en un servidor web pot reorganitzar serveis, però un certificat inesperat no demostra que els fitxers de l'Apache s'hagin reescrit. Alguna cosa va presentar aquest certificat al vostre navegador, i la primera tasca és posar-li nom. Fins que no s'identifiquin el procés que escolta i l'amfitrió virtual, cada reparació és una suposició aplicada a la capa equivocada. Tota la comprovació següent és només de lectura.

No es reinicia, desinstal·la ni sobreescriu res mentre reuniu els fets que decideixen el cas.

Llegiu el certificat que el navegador va rebre realment

Anoteu el nom d'amfitrió, l'adreça resolta per a cada família, el port i els detalls del certificat que va fer queixar el navegador. Un nom que es resol tant en un registre A com en un AAAA pot arribar a dues interfícies diferents, i només una pot ser l'amfitrió on teniu accés d'ordres. Un navegador darrere d'un proxy pot tornar a agafar un tercer camí. Endevinar quin dels dos va produir l'avís malbarata l'única observació que teniu.

Després reproduïu l'handshake des d'una màquina al mateix camí, indicant explícitament l'adreça i enviant el nom de servidor previst perquè la resposta reflecteixi el lloc i no l'amfitrió per defecte.

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

Compareu els noms alternatius del subjecte i l'empremta amb el certificat que espereu, no amb un emissor conegut. Connectar-se a una adreça nua sense el nom del servidor pot seleccionar un certificat per defecte, que llavors sembla el fitxer equivocat quan en realitat és la pregunta equivocada.

Identifiqueu el procés lligat a aquest port

A l'amfitrió que ha de rebre la connexió, lliste el procés que escolta i anoteu l'adreça d'enllaç, la família d'adreces i el propietari del procés. Un servei lligat a l'adreça de bucle local no és el mateix que un de lligat a totes les interfícies, i una publicació de contenidor pot posar el procés que escolta públic en un lloc completament diferent.

sudo ss -ltnp 'sport = :443'
sudo ss -ltnp | grep -E ':(443|943)\b'

Si TLS el termina un balancejador de càrrega o un proxy al davant, atureu-vos aquí i inspeccioneu aquesta interfície frontal. La instància d'Apache que hi ha darrere pot no presentar mai cap certificat a un navegador públic, així que editar-ne la configuració no canvia res del que veu el navegador. La visió dels sockets i l'handshake extern han de descriure el mateix camí, i això és el que estableix aquesta comparació.

Feu coincidir l'amfitrió virtual abans del fitxer

Quan Apache és el terminador, pregunteu-li quin amfitrió virtual guanya per a aquesta adreça i aquest nom. L'ordre de control imprimeix la disposició efectiva, inclòs el grup associat a cada socket, els noms de servidor declarats i l'amfitrió que es tracta com a predeterminat. Editar un fitxer de certificat sense aquesta resposta és com el lloc equivocat acaba servit des d'un fitxer correcte.

sudo apachectl -S

Les preguntes freqüents sobre SSL de l'Apache expliquen com la indicació del nom de servidor selecciona un certificat. La capçalera Host d'HTTP arriba després de l'handshake i no pot canviar retroactivament el que ja s'ha presentat, així que un nom no coincident o absent recau en l'amfitrió per defecte.

Un amfitrió virtual amb nom i una errata a ServerAlias produeixen exactament aquest símptoma, i també un segon fitxer de configuració que carregui primer un amfitrió comodí. Tots dos són visibles en aquest llistat de disposició.

Verifiqueu la correcció a cada camí que afirmeu

Després d'un canvi aprovat, repetiu la comprovació específica del nom d'amfitrió per a cada família d'adreces i acabeu amb la validació ordinària del navegador en lloc d'una opció d'omissió. Preserveu un camí d'administració separat abans de tocar paràmetres compartits del procés que escolta, perquè un error allà elimina l'accés que faríeu servir per desfer-lo. Després anoteu quin procés va respondre, quin amfitrió virtual va coincidir i quin certificat es va servir abans i després.

Desinstal·lar un paquet pot canviar la disposició i deixar la discrepància original sense explicar, i per això aquest registre sobreviu a la reparació.

El que voleu és el lloc previst al punt d'entrada previst. Un certificat diferent després que hagi desaparegut un servei no relacionat no és aquest resultat, ni tan sols quan el navegador deixa de queixar-se.

Articles relacionats