Estou executando o Apache Tomcat como meu único servidor HTTP no Windows Server 2012.
O Tomcat foi instalado como um serviço e está vinculado à porta 80. O arquivo server.xml
teve address="0.0.0.0"
adicionado ao conector e o Firewall do Windows está aberto para todas as solicitações da Porta 80.
Meu aplicativo precisa enviar alertas de e-mail aos usuários. A entrega direta por meio de um serviço SMTP hospedado localmente (Apache James) não é confiável. Para garantir a entrega desses e-mails, optei por retransmitir meus e-mails por meio do nosso principal serviço de e-mail, o serviço Office365 on-line da Microsoft. Para retransmitir através deste serviço, a criptografia TLS e outras medidas de segurança são necessárias. Como você pode imaginar, o serviço SMTP da Microsoft funciona bem, mas eu tive dificuldades para fazer com que qualquer outro serviço baseado em Windows ou Java fosse retransmitido corretamente. Para habilitar a entrega de email, instalei o serviço SMTP interno do Windows Server.
Essa configuração funcionou muito bem, até que a última rodada de atualizações do Windows foi instalada ontem à noite. Agora, não consigo acessar meu servidor Tomcat e todas as solicitações na porta 80 não são bem-sucedidas. Os logs do Tomcat estão sendo exibidos:
SEVERE: Error initializing endpoint
java.lang.Exception: Socket bind failed: [730013] An attempt was made to access a socket in a way forbidden by its access permissions.
at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:589)
...
Meu Googling resultou em vários links, sugerindo que o Socket Pooling do IIS é o culpado.
Eu tentei reservar a porta 80 para o tomcat usando netsh http add iplisten 192.168.1.8
e isso permite que o Tomcat seja iniciado e vinculado localmente. Agora posso ver meu site do Tomcat usando http://localhost/
ou http://127.0.0.1/
na máquina local. No entanto, o acesso via http://192.168.1.8/
ou por qualquer conexão de rede ainda falha.
Não consigo encontrar nenhuma documentação sobre como desabilitar completamente o pool de soquetes do IIS no Windows Server 2012 (todos os links se referem a versões antigas e scripts que parecem ter sido removidos / superintendados na versão atual do servidor.
ATUALIZAÇÃO: Parece que a instalação do serviço SMTP do Windows (não depreciado) também instala e executa automaticamente o IIS. O processo de instalação mostra apenas as ferramentas de gerenciamento - mas quando você verifica os consoles de gerenciamento do IIS, há o site padrão, monopolizando a porta 80 por si só. E, claro, ele assume o controle antes que qualquer servidor da Web de terceiros seja iniciado. Suspiro. Alterar o site do IIS para uma porta diferente ou pará-lo completamente parece permitir que o Tomcat funcione novamente.
Tags tomcat smtp iis windows-server-2012