Diferentes certificados SSL servidos para el mismo sitio dependiendo de dónde se encuentre el navegador en IIS

Diferentes certificados SSL servidos para el mismo sitio dependiendo de dónde se encuentre el navegador en IIS

Tengo un sitio web al que se puede acceder en Internet y también en una red local. En la red local, hacer ping al nombre del servidor produce una dirección IP diferente a la que obtengo cuando hago ping desde Internet abierto.

Estoy teniendo una situación en la que el sitio web recibe un certificado SSL diferente dependiendo de desde dónde ve el sitio el navegador del cliente. Ambos certificados de servidor son visibles cuando miro los certificados de servidor del servidor desde IIS. Pero hasta donde puedo decir, solo uno de los certificados está especificado para el sitio web en sus enlaces. ¿Cómo se puede vincular también este otro certificado al sitio web cuando se ve desde la red local?

Además, ¿hay alguna forma en un servidor Windows de determinar a qué sitios está vinculado un certificado de servidor específico? (Es decir, ¿comenzar con el certificado y buscar el sitio en lugar de la otra dirección más habitual?)

Respuesta1

Para tu segunda pregunta, podrías hacer algo como esto en PowerShell:

Obtenga la huella digital del certificado que le interesa:

 $tp = (Get-ChildItem Cert:\LocalMachine\my | Where-Object Subject -eq "cn=www.stackoverflow.com").Thumbprint

El comando netsh http show sslcertenumera todos los enlaces de certificados, pero con mucha información adicional, filtre la salida:

netsh http show sslcert | Select-String -Pattern $tp  -SimpleMatch -Context 1,0

Buscamos la huella digital y también mostramos una línea antes de la línea coincidente, pero ninguna línea después.

Esto debería brindarle la información vinculante que puede usar para encontrar el sitio web para el que se utiliza.

Get-ChildItem IIS:\SslBindings\ | Where-Object Port -eq 443 | Where-object Host -eq www.foo.com

información relacionada