
У меня странная ошибка подключения, когда мое приложение Java работает с некоторых ПК, но не с других. Не работает успешное установление HTTP-соединения с определенным сервером. Java получает TimeoutException.
Странно то, что в системах, где это не работает, когда я открываю соединение в локальном браузере (firefox и IE), оно работает. Я получаю ответ не только от прокси-сервера аутентификации, но и с правильными учетными данными от моего сервера. Это HTTP 400 (Bad Request), потому что браузер не отправляет ожидаемый JSON.
Локальная система — Windows Server 2016. Брандмауэр Windows отключен. Насколько мне известно, локальной установке уже много лет. Здесь нет управления конфигурацией.
Приложение Java работает как служба как "NT-Authority/SYSTEM". Когда я запускаю его как локального пользователя (как браузер), оно ведет себя так же. Я не увидел разницы.
Когда я проверяю TCP-соединение в TcpView, статус отображается как "ESTABLISHED". Означает ли это, что рукопожатие прошло успешно?
У меня действительно нет идей. Для каждой части всей системы я могу утверждать, что там не может быть ошибки, потому что она работает из большинства систем. За исключением некоторых.
- Это не может быть приложение Java, поскольку почти во всех случаях работает один и тот же код.
- Это не может быть проблемой конфигурации сервера, поскольку, повторюсь, она практически не затрагивает ни одного клиента.
- Это не может быть связано с аутентификацией, потому что те же самые учетные данные работают, как только я запускаю приложение Java с точно такой же конфигурацией из другой локальной системы в той же локальной сети. Конфигурация аутентификации — единственная конфигурация моего приложения Java.
- По той же причине это не может быть проблемой конфигурации локальной сети, например, прокси-сервера или чего-то в этом роде.
Я также подозревал, что в той же системе работают и другие приложения или вирусы, но что они могли сделать, чтобы вести себя подобным образом?
Любая помощь будет оценена по достоинству.