SSL no IIS8.5 - Trabalhando com URL nomeada, mas localhost resulta em ERR_CERT_COMMON_NAME_INVALID

3

Eu tenho IIS8.5 em execução no Win Server 2K12 R2. Eu tenho um certificado SSL válido registrado no nome do servidor foo.domain.com :

Euconfigureiasligaçõesdomeusiteparausarhttpscomestecertificado:

Eu posso falar com sucesso no site ao falar com https://foo.domain.com , mas não consigo falar com sucesso quando uso https://localhost.com ou https://127.0.0.1 :

O que eu preciso fazer para poder me comunicar com sucesso através do host local?

Eu tentei:

  • Criação de um certificado autoassinado e tentativa de uso, mas não posso usar dois certificados para o mesmo site. Usar um auto-assinado para localhost desativa minha capacidade de comunicação via foo.domain.com

Eu não tenho:

  • Tentou aplicar os certificados COMODO intermediários manualmente por meio de mmc.exe certmgr.msc . Como minha configuração atual está funcionando externamente, não acredito que esse seja o problema.
  • Arquivo de hosts modificados para redirecionar o host local para foo.domain.com
por Sean Anderson 02.11.2014 / 23:40

2 respostas

3

Seu certificado SSL é válido apenas para o FQDN exato pelo qual o destinatário acessa o site. O assunto do certificado SSL e o FQDN do servidor na barra de endereço da URL devem corresponder. Por exemplo, é válido somente para foo.domain.com , não foo , não localhost , não 127.0.0.1 . Isso é por design. É assim que os certificados SSL funcionam.

Nenhuma Autoridade de Certificação que se preze irá emitir um certificado SSL para "localhost", porque há um número teoricamente infinito de "localhosts" sem nenhuma maneira de verificar sua identidade.

    
por 02.11.2014 / 23:42
0

Como afirmado por outros, os certificados SSL são válidos apenas para o FQDN exato usado. Quando você criou o certificado autoassinado no IIS, ele forneceu um nome "emitido para". Se você usar isso em vez de "localhost", o certificado deve funcionar. Por exemplo, se o nome da máquina for foo.bar.com, você poderá usar https://foo.bar.com na URL em vez de https://localhost .

No meu caso, eu estava acessando um servidor de desenvolvimento remoto por IP, pois não havia um servidor DNS que pudesse resolvê-lo pelo nome. Eu continuei recebendo o erro que você recebeu. No meu caso, o nome da máquina era algo como foo.bar.local com um endereço IP de algo como 10.1.1.37. Quando criei meu certificado autoassinado do IIS, ele foi emitido para foo.bar.local. Para fazer isso funcionar, adicionei uma entrada ao arquivo hosts da minha máquina cliente (c: \ windows \ system32 \ drivers \ ets \ hosts) que apontava foo.bar.local para 10.1.1.37 e começava a usar https://foo.bar.local em vez de% código%. Começou a trabalhar a partir desse ponto em diante.

Naturalmente, tudo isso pressupõe que você já tenha instalado o certificado nas autoridades de certificação raiz confiáveis da máquina cliente.

Espero que ajude!

    
por 17.11.2014 / 04:24