Meus adaptadores de rede estão usando três endereços IP4:
- a
- b
- c
O IIS executa dois sites: A, B e a ligação é
- A>a:80
- B>b:80
- B>b:443
Configurei o IIS para ouvir a e b da seguinte maneira:
- netsh http adicionar endereço iplisten=a:80
- netsh http adicionar endereço iplisten=b:80
- netsh http adicionar endereço iplisten=b:443
O comando netsh http show iplisten mostra:
- a
- b
O Webservice Google Go é executado no endereço IP4:
- c
Situação: Esta configuração funciona bem no Windows 2008 R2. No Windows 2012 R2 parece funcionar inicialmente, MAS depois de reiniciar o servidor, o serviço Web Google Go está em execução, mas oos sites A e B estão parados. No entanto, posso iniciá-los manualmente e todos os três sites estarão operacionais novamente.
Abordagem 1: Os sites A e B estão em execução. Agora desativo o serviço Web Google Go e reinicio o serviço. Mas os sites A e B sãoainda parouapós o reinício.
Abordagem 2: (o serviço Web Go ainda está desabilitado) Agora adiciono o endereço IP global 0.0.0.0 para o IIS escutar. Então netssh http show iplisten mostra: 0.0.0.0, a, b. Após a reinicialização, os sites A e B ainda estão em execução. No entanto, ouvir em 0.0.0.0 impede a execução do serviço da Web Google Go porque seu IP e porta sãoagora bloqueadopelo IIS.
Pergunta: Por que o IIS precisa do endereço IP 0.0.0.0 para iniciar os sites? Para mim, isso parece uma falha no Windows Server 2012 R2. No IIS8.5 também encontrei outras falhas, então não ficaria surpreso - por exemplo, você não pode usar o caractere ? na nomenclatura do site padrão, o que é problemático com alguns de nossos módulos ISAPI (você pode escrever xy.dll, mas não xy.dll?start). O que posso fazer agora para que os três sites funcionem simultaneamente? Obrigado por seu apoio.
Responder1
Seria suficiente ter um script em lote para inicializá-los depois que o sistema fosse inicializado? Talvez não seja a solução mais elegante, mas deve funcionar.