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