start - oracle java web
Java Web Start: no se puede hacer un túnel a través del proxy desde Java 8 Update 111 (3)
Descubrí que hay una forma, pero no en manos del desarrollador: el usuario puede agregar
-Djdk.http.auth.tunneling.disabledSchemes=""
en el Panel de control de Java → Java → Ver ... → Parámetros de tiempo de ejecución
Algunos de nuestros clientes ya no pueden ejecutar nuestro cliente Java Web Start desde Java 8 Update 111. Obtienen:
java.io.IOException: no se puede hacer un túnel a través del proxy. Proxy devuelve "HTTP / 1.1 407 Autenticación Proxy requerida
Esto podría tener que ver con este cambio:
Ahora, los servidores proxy que requieren autenticación básica al configurar un túnel para HTTPS ya no tendrán éxito por defecto. Si es necesario, este esquema de autenticación se puede reactivar eliminando Basic de la propiedad de red jdk.http.auth.tunneling.disabledSchemes o configurando una propiedad del sistema con el mismo nombre en "" (vacío) en la línea de comando.
http://www.oracle.com/technetwork/java/javase/8u111-relnotes-3124969.html
Sin embargo, no estoy seguro de cómo aplicar el cambio necesario con Java Web Start. Agregar una etiqueta de propiedad al JNLP como este no tuvo ningún efecto:
<resources>
...
<property name="jdk.http.auth.tunneling.disabledSchemes" value=""/>
...
</resources>
¿Alguna idea?
Actualización : parece que solo hay algunas propiedades compatibles de esta manera. Aquí hay una lista:
http://docs.oracle.com/javase/8/docs/technotes/guides/javaws/developersguide/syntax.html
"jdk.http.auth.tunneling.disabledSchemes" no está entre ellos :(
Entonces, ¿no hay forma de habilitar el túnel básico auth HTTPS en Java Web Start?
Además de la respuesta de mbee, también se puede configurar esto en el archivo net.properties
de la jre:
C:/Program Files (x86)/Java/jre1.8.0_131/lib/net.properties
Actualmente, la última línea 100 debe ser comentada:
Antes de:
#jdk.http.auth.proxying.disabledSchemes=
jdk.http.auth.tunneling.disabledSchemes=Basic
Después:
#jdk.http.auth.proxying.disabledSchemes=
#jdk.http.auth.tunneling.disabledSchemes=Basic
Tenga en cuenta que ambas respuestas deben repararse después de una actualización de Java, aunque la actualización automática de Java está desactivada con la autenticación básica de proxy de Internet.
Si necesita hacer esto en tiempo de ejecución, puede establecer el valor de la propiedad jdk.http.auth.proxying.disabledSchemes al agregar
System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");
al método principal de su aplicación.