Alterar a associação IP/porta de um site configurado para usar um certificado curinga faz com que outros sites no mesmo servidor falhem

Este artigo ajuda você a resolve o problema em que outros sites no mesmo servidor não funcionam conforme o esperado quando você altera a associação IP/porta de um site configurado para usar um certificado curinga.

Versão original do produto: Serviços de Informações da Internet 7.0
Número de KB original: 2405568

Sintoma

Considere o seguinte cenário:

  • Você tem um servidor Web Serviços de Informações da Internet da Microsoft (IIS) 7.0 que hospeda vários sites da Web e todos os sites usam o mesmo endereço IP e porta. Por exemplo, todos eles usam o mesmo certificado SSL (Camada de Soquetes Seguros) curinga e cabeçalhos de host.

Se você usar o Gerenciador do IIS para excluir ou alterar o mapeamento de certificado para um dos sites, a mesma exclusão ou alteração ocorrerá para todos os sites. Além disso, se você usar o Gerenciador do IIS para excluir um site, os outros sites que usam a mesma associação IP/porta não funcionarão mais conforme o esperado.

Motivo

O problema ocorre porque as associações de certificado SSL especificadas pela configuração do Http.sys certificado só podem ser registradas usando uma combinação IP/Porta. Isso significa que qualquer site que use o mesmo IP/Porta terá que usar o mesmo certificado, independentemente do nome do host. Este tópico é descrito em certificados SSL em Sites com Cabeçalhos de Host.

O dilema causado por essa situação é como o Microsoft.Web.Administration lida com sites com a mesma combinação IP/Porta. Se uma associação de site for alterada, por exemplo, excluindo o site ou alterando a configuração do certificado, ela aplicará a alteração a todos os outros sites que usam esse certificado curinga específico.

Resolução

O problema só ocorre ao usar a Microsoft.Web.Administration API para fazer as alterações. Por exemplo, o problema ocorre ao usar o Gerenciador do IIS, pois o Gerenciador do IIS depende da Microsoft.Web.Administration API. Para evitar esse problema, use a ferramenta appcmd.exe para excluir a associação de site ou certificado. A ferramenta appcmd.exe não usa a Microsoft.Web.Administration API.

Por exemplo, para excluir um site chamado MyWebsite, execute o seguinte comando:

appcmd.exe delete site "MyWebsite"

Referências

Introdução com AppCmd.exe