Considere uma máquina Windows 2008 SP2 com o IIS7. A tarefa é aplicar um certificado e um nome de host ao primeiro site nesta máquina. Os cabeçalhos de host do site precisam serabc.123.example.com
A primeira etapa foi instalar o .pfx no Personal Store, que foi bem-sucedido.
O IIS7 encontra o certificado como disponível, mas não permite a entrada de um nome de host. A caixa de texto do nome do host está SEMPRE desativada / acinzentada, mesmo antes de selecionar meu certificado. Eu até apaguei a ligação padrão da porta 80.
Pergunta: como posso definir um nome de host para este site? É uma questão de esse certificado ser um certificado curinga? Entendo que a solicitação SSL entra no servidor da Web e o cabeçalho do host no pacote é criptografado. Por que então o IIS6 permitiria que o cabeçalho do host fosse especificado, mas o IIS7 não?
Atualização: o certificado não faz parte do problema. Criei um novo site na máquina e, ao escolher a ligação https, a caixa de texto do nome do host é desativada.
fonte
Seu trabalha na GUI ...
Apenas verifique se o 'nome amigável' do certificado que você está instalando é o mesmo que o nome do domínio múltiplo que você criou para o certificado.
ie * .companydomain.com
se você colocar 'Nice friendly name' para * .companydoman.com cert, ao instalar o cert no IIS, ele ficará cinza na caixa de cabeçalho do nome do host.
Se você usar * .companyname.com como o nome amigável, será um sucesso.
Estrondo.
fonte
A resposta curta é que cada IP pode ter apenas um certificado vinculado a ele; portanto, a ligação do certificado será aplicada, independentemente do nome do host direcionado para esse endereço IP. A capacidade de especificar um nome de host implica que você pode ter várias combinações de nome de host e certificado no mesmo endereço IP e porta (como é possível com entradas não SSL), mas esse não é o caso, portanto, o campo está indisponível.
A explicação mais completa é que o SSL criptografa seu tráfego e parte desse tráfego são os cabeçalhos HTTP enviados pelo navegador ao servidor. Um desses cabeçalhos seria o cabeçalho "Host" que o IIS usa para determinar qual site carregar com a solicitação. Como o certificado precisa ser carregado para estabelecer a conexão segura ANTES que os cabeçalhos da solicitação sejam enviados, o IIS precisa selecionar o certificado apenas com base no endereço IP e no número da porta, deixando o cabeçalho "Host" no frio como um fator para determinar qual site carregar, para que eles não permitam que você insira um.
Aqui está um artigo que descreve o funcionamento interno da conexão SSL com mais detalhes.
fonte
A resposta do SSLShopper não funcionou para mim porque deixou a ligação sem o cabeçalho do host e você não pôde removê-la sem interromper a conexão com o certificado. Aqui está o método que eu usei para fazê-lo funcionar:
Observe que esta resposta pressupõe que seu certificado já foi gerado, adicionado ao armazenamento de certificados e adicionado ao IIS. Ele também pressupõe que você não deseja outras ligações ao seu site, além do SSL.
Primeiro, precisamos coletar algumas informações. Precisamos do hash, do ID do aplicativo e do nome do host.
Passos
Abra um prompt de comando
Salve o hash do certificado e o ID do aplicativo
No prompt de comando:
Nota: O Appcmd.exe pode ser encontrado em c: \ windows \ system32 \ insetsrv. Pode ser necessário estar nessa pasta para que este comando funcione.
fonte
A resposta aceita aqui é confusa e não acho que seja correta para a pergunta. Não deve ser a resposta aceita.
O problema
Você tem um SSL curinga como
*.ipsum.com
o certificado e está instalado, mas não pode escolher um nome de host para o site no IIS ao tentar adicionar uma ligação HTTPS porque a caixa de texto está acinzentada.A solução
Seu SSL curinga pode ser usado com qualquer subdomínio, você só precisa se certificar que você comece o nome amigável do certificado com
*
. Prefiro usar o mesmo nome amigável que o domínio curinga, por exemplo,*.ipsum.com
mas você pode chamá-lo de qualquer coisa que seja do asterisco:*foo
Dei ao meu certificado o nome amigável errado, ajuda!
Desde o Windows 8 ou Server 2012, você pode digitar
certlm.msc
no menu Iniciar para gerenciar certificados para a máquina local. Nas versões anteriores do Windows, você precisará fazer algo um pouco mais complicado:mmc.exe
desde o inícioFile
menu e escolhaAdd/Remove Snap-in...
ou pressione(Ctrl-M)
Certificates
snap-in e clique em, emAdd >
seguida, escolhaComputer Account
seguido pelasLocal Computer
caixas de diálogo subseqüentes e clique emFinish
seguido porOK
para fechar a janela Snap-insNa janela principal, expanda
Certificates (Local Computer)
e, emPersonal
seguida,Certificates
clique com o botão direito do mouse no certificado, clique emProperties
onde você pode atualizar o nome amigável.Feche e abra o Gerenciador do IIS e você poderá definir seu nome de host.
fonte
Na verdade, você pode adicionar um cabeçalho de host via GUI, mas isso depende de como o certificado é nomeado ... se eu der um nome amigável de * .xyz.com ao meu certificado curinga e selecionar esse certificado, então eu vou capaz de usar o gui. se o nome amigável é algo como xyzwildcard, e eu escolho isso, ele esmaece o campo hostheader ...
Esquisito esquisito
fonte
Algumas máquinas não permitem editar o nome do host se o protocolo for alterado para https ou após a adição de um certificado SSL. Às vezes, o IIS pode ficar mal-humorado.
Este comando do Windows criará uma nova ligação com o protocolo "https", na porta "443", nome do host "subdomínio.domínio.com", nome do site "nome do site". Altere esses valores (entre aspas) para atender aos seus requisitos. Você precisará excluir a ligação antiga, se estiver usando a porta 443.
C:>
cd C:\Windows\System32\inetsrv
C: \ Windows \ System32 \ inetsrv>
appcmd set site /site.name:"site_name" /+bindings.[protocol='https',bindingInformation='*:443:subdomain.domain.com']
fonte
O nome do host pode ser adicionado apenas quando o nome do nome do certificado selecionado for semelhante ao nome do host * .xyz.com e você pode renomear o nome amigável do certificado para * .xyz.com no mmc (Snap-in).
fonte
Eu acho que este artigo da KB lançará alguma luz sobre o problema. Em poucas palavras, os cabeçalhos de host HTTP 1.1 não são suportados quando você usa SSL.
O que provavelmente realizará o que você deseja é usar a chave da metabase SecureBindings. Por exemplo, cscript.exe adsutil.vbs define / w3svc / websiteID / SecureBindings "ip.ip.ip.ip: 443: abc.123.mysite.com
fonte
Por que a MS retira isso da GUI está além de mim, pois, se você tiver um aplicativo ASP.NET que utilize arquivos de licença (licx), seu site não funcionará porque aparece como um endereço IP em vez de um nome de domínio . Eles precisam PARAR DE ASSUMIR a cada nova versão de seu software - as pessoas de TI não precisam ser cuidadas pela Microsoft! Nossa!
fonte
Criei um certificado autoassinado com * .testcompany.com, selecionei o recém-criado (começando com *) na lista suspensa Editar certificado SSL de ligação, habilitei a caixa de texto do nome do host, criei o nome do host como 'webapi.b2c .com ',
Atualizei o arquivo hosts em C: \ Windows \ System32 \ drivers \ etc 127.0.0.1 webapi.b2c.com
Agora posso navegar no site como ' https://webapp.b2c.com/ '
fonte