Como você investigaria o seguinte problema?
Em um servidor específico; qualquer solicitação HTTP enviada para um servidor Java em execução no host local falha com "Conexão recusada". ( Veja o código Java aqui )
No Java Server-Application, nenhum sinal de problemas está visível. A porta parece estar escutando, mas quando tento enviar uma solicitação HTTP com cURL para o aplicativo Java HTTP-Server; Registros cURL "Conexão recusada". (Eu uso o curl em mingw no sistema Windows 10)
O aplicativo Java Server iniciado:
C:\test>java LogTCP_S 8000
Listening on port:8000, type Crtl-C to finish
O comando curl [NOK]:
$ curl localhost:8000
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
curl: (7) Failed to connect to localhost port 8000: Connection refused
O mesmo código Java funciona como esperado na minha estação de trabalho.
Eu também tentei um aplicativo Java diferente. Eu obtive o mesmo resultado usando o código da seguinte resposta do StackOverflow: servidor HTTP simples em Java usando apenas a API Java SE
O problema ocorre em um sistema Windows 10. Existem várias ferramentas de detecção de anomalias e aplicativos de firewall e estamos tendo dificuldades para identificar a origem do problema.
Dica: netstat -a não listará a porta 8000. Mas deve ser mostrado como LISTENING.
Dica: Ao iniciar um servidor no PowerShell ( conforme descrito aqui ), a comunicação funciona como esperado. A porta do Servidor do PowerShell será listada na saída netstat -a e as solicitações retornarão o HTTP 200 e o conteúdo esperado.
Você poderia me dar uma dica, como depurar, investigar ou resolver esse problema? Quais ferramentas poderiam ser úteis ao investigar tais questões?
Qualquer ajuda seria muito apreciada.
Muito obrigado.
Versão Java:
C:\>java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
Saída do servidor do PowerShell:
Windows PowerShell
Copyright (C) 2016 Microsoft Corporation. All rights reserved.
PS C:\Temp\_test\PowerShell> .\server.ps1
[PowerShell] Listening at http://localhost:8000/... (port 8000)
> http://localhost:8000/ola
< 200
saída de curvatura, quando o PowerShell está sendo executado [OK]:
$ curl localhost:8000/ola
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 38 100 38 0 0 612 0 --:--:-- --:--:-- --:--:-- 612
<html><body>Hello world!</body></html>