Sim, você pode.
É possível usar um certificado SSL curinga e um único IP.
Eu posso detalhar como testar isso usando um caractere curinga auto-assinado.
Pré-requisitos
- MakeCert.exe (que deve fazer parte de uma instalação do Visual Studio ou disponível para download aqui )
- winhttpcertcfg.exe ( faça o download aqui )
- APPCMD (parte do Vista / Server 2008 / Windows 7)
- Snap-in 'Certificados' para computadores pessoais e locais usando o MMC
Método
Execute o seguinte comando em um prompt de comando
makecert -r -pe -n CN=*.domain.com -ss my -sr currentuser -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 wildcard.domain.cer
então
- No comando RUN ou no menu Iniciar, digite MMC
- Arquivo > Adicionar ou remover snap-ins - selecione Certificados, clique em Adicionar, selecione Minha conta de usuário, clique em Concluir
- Repita a etapa anterior e selecione Meu computador (e selecione Computador local)
- Clique em OK
- Expandir certificados - usuário atual > Pessoal > Certificados
- Clique com o botão direito do mouse em * .domínio.com e em Todas as tarefas > Exportar. O arquivo PFX contém a chave pública e privada para este certificado, portanto, por que você solicitou uma senha.
- Copiar ou mover o certificado do usuário atual > Pessoal > Certificados para computador local > Autoridades de certificação raiz confiáveis > Certificados
- Importe o PFX para o computador local > Pessoal > Certificados (este será o certificado usado pelos seus serviços da Web.
Agora vamos criar seus servidores da web
- Organize seu ambiente:)
Remover pools e sites de aplicativos de demonstração existentes
%windir%\system32\inetsrv\Appcmd delete site "Demo 1"
%windir%\system32\inetsrv\Appcmd delete site "Demo 2"
%windir%\system32\inetsrv\Appcmd delete AppPool "Demo 1 App Pool"
%windir%\system32\inetsrv\Appcmd delete AppPool "Demo 2 Portal App Pool"
- Estabelecer ambiente SSL
Diga às janelas que o serviço de rede tem permissão para acessar seu certificado curinga. e diga para ligar o certificado à porta 443 em seu endereço IP
PathToWinHTTPCertCfg\winhttpcertcfg -g -i "wildcard.domain.com.pfx" -c LOCAL_MACHINE\My -a “Network Service” -p MySecretPassword
netsh http add sslcert ipport=<YOURLOCALIPADDRESS>:443 certhash=<CERTIFICATE THUMBPRINT> appid=<A GUID IN THE FORM OF {ab3c58f7-8316-42e3-bc6e-771d4ce4b201}>
- Criar pools de aplicativos e sites
Este é o código para criar pools e sites de aplicativos
%windir%\system32\inetsrv\Appcmd add site -id:100 -name:"Demo 1" -bindings:http/*:80:YOURLOCALIPADDRESS -physicalPath:<PathToDemo1Source> -logfile.directory:<PathToPutLogFilesIn> -traceFailedRequestsLogging.directory:<PathToPutTraceFiles>
%windir%\system32\inetsrv\Appcmd set app "Demo 1/" -applicationPool:"Demo 1 App Pool"
%windir%\system32\inetsrv\Appcmd set site /site.name:"Demo 1" /+bindings.[protocol='https',bindingInformation='*:443:demo1.domain.com']
%windir%\system32\inetsrv\Appcmd add site -id:200 -name:"Demo 2" -bindings:http/*:80:YOURLOCALIPADDRESS -physicalPath:<PathToDemo2Source> -logfile.directory:<PathToPutLogFilesIn> -traceFailedRequestsLogging.directory:<PathToPutTraceFiles>
%windir%\system32\inetsrv\Appcmd set app "Demo 2/" -applicationPool:"Demo 2 App Pool"
%windir%\system32\inetsrv\Appcmd set site /site.name:"Demo 2" /+bindings.[protocol='https',bindingInformation='*:443:demo2.domain.com']
... e isso deve ser você;) Divirta-se!