Не удается подключиться к конечной точке REST при включенном VPN - PullRequest
1 голос
/ 02 мая 2020

У меня очень элементарные знания о сетях. Пожалуйста, ELI5

У меня есть некоторый код Java, который попадает в тестовую конечную точку REST (GET). https://postman-echo.com/get?foo1=bar1&foo2=bar2

Когда я запускаю свой код в моей локальной среде и у меня отключен корпоративный VPN, я могу подключиться к этой конечной точке без ошибок.

Когда я включаю свой корпоративный VPN, я запускаю получение странных ошибок, в частности javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake

Что может быть причиной того, что мой код java сломался при подключении к VPN?

Что еще страннее, когда я ввожу конечную точку в браузере при включенном VPN я могу подключиться к конечной точке, поскольку все в порядке.

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
                  .url("https://postman-echo.com/get?foo1=bar1&foo2=bar2")
                  .build();

try (Response response = client.newCall(request).execute()) {
    return response.body().string();
}

РЕДАКТИРОВАТЬ

У меня есть доступ к двум прокси, один из которых использовался в моем браузере, сгенерировал Ошибка 400, а другая работает в моем коде. Почему при использовании VPN требуется прокси-сервер и что будет отличаться между моими двумя прокси-серверами, почему один сгенерирует 400 в моем коде, а не другой?

1 Ответ

1 голос
/ 02 мая 2020

Я твердо верю, что вам нужно позвонить через прокси, поскольку это происходит в корпоративной сети. Эта проблема не возникает в браузере, поскольку браузер использует настройки VPN для выполнения вызова HTTP / HTTPS. Добавление настройки прокси в коде решит проблему.

...