2017-01-23 2 views
8

Некоторые из наших клиентов не могут работать наш клиент Java Web Start больше, так как Java 8 Update 111. Они получают:Java Web Start: Невозможно туннель через прокси-сервер, так как Java 8 Update 111

java.io.IOException: Невозможно туннелировать через прокси. Proxy возвращает «HTTP/1.1 407 Proxy Authentication Required

Это, возможно, придется делать с этим изменением:

Теперь прокси, требующие обычной проверки подлинности при настройке туннеля для HTTPS больше не удастся по умолчанию. При необходимости эту схему проверки подлинности можно активировать, удалив Basic из сетевого свойства jdk.http.auth.tunneling.disabledSchemes или по , установив системное свойство с тем же именем на «" (пустое) на командная строка.

http://www.oracle.com/technetwork/java/javase/8u111-relnotes-3124969.html

Однако я не уверен, как Апи необходимые изменения с Java Web Start. Добавление тега свойств в JNLP, как это, не повлияло:

<resources> 
    ... 
    <property name="jdk.http.auth.tunneling.disabledSchemes" value=""/> 
    ... 
</resources> 

Любая идея?

Обновление: Похоже, что поддерживаются только некоторые свойства. Вот список:

http://docs.oracle.com/javase/8/docs/technotes/guides/javaws/developersguide/syntax.html

«jdk.http.auth.tunneling.disabledSchemes» не среди них :(

Таким образом, нет никакого способа, чтобы включить основные туннелирования аутентификации прокси HTTPS в Java Web Start

+0

Вы смогли проверить, что это свойство работает? Этот ответ SO может помочь: http://stackoverflow.com/a/4036534/867816 –

+0

Нет, это первый раз, когда я пытаюсь использовать тег свойства. Однако java-vm-args, похоже, здесь не применяется, поскольку это лишь несколько аргументов. Вот список: http://docs.oracle.com/javase/8/docs/technotes/guides/javaws/developersguide/syntax.html Однако теперь я вижу, что есть также такой список для тега свойства. Гектометр Таким образом, нет возможности включить базовое туннелирование прокси-сервера в Java Web Start? – mbee

ответ

6

я узнал, что есть один способ, но не в руках разработчика:? пользователь может добавить

-Djdk.http.auth.tunneling.disabledSchemes="" 

для Java 8 в панели управления Java → Java → View ...→ Время воспроизведения Параметры

для Java 9 в Java Панель управления → Настройки рабочего стола → Время воспроизведения Параметры

6

Помимо ответа mbee можно также настроить это в net.properties файле JRE:

C:\Program Files (x86)\Java\jre1.8.0_131\lib\net.properties

в настоящее время последняя строка 100 должны быть закомментированы:

до:

#jdk.http.auth.proxying.disabledSchemes= 
jdk.http.auth.tunneling.disabledSchemes=Basic 

После:

#jdk.http.auth.proxying.disabledSchemes= 
#jdk.http.auth.tunneling.disabledSchemes=Basic 

Обратите внимание, что оба ответа должен быть повторен после обновления Java, хотя Java Auto Update деактивируется с Basic Internet Proxy Authentication.

0

Если вам требуется, чтобы сделать это во время выполнения вы можете установить значение из jdk.http.auth.proxying.disabledSchemes собственности путем добавления

System.setProperty("jdk.http.auth.tunneling.disabledSchemes", ""); 

к основному способу приложения.

+0

Вы уверены, что можете изменить такие параметры безопасности во время выполнения? Я имею в виду: вы проверяли, имеет ли это эффект? – mbee

+0

Да, вы можете. Несколько дней назад я только что боролся с этой проблемой и нашел эту тему, которая решила проблему, которую я имел. Я закрыл настройку свойства в основном методе, который отлично подходит для меня. – bj03rnv0ss

+0

звучит как ошибка безопасности – jan

Смежные вопросы