En una aplicación con Apache HttpClient 4, un destino HTTPS no significa que cada conexión empiece con TLS. Se llega a un proxy HTTP normal mediante una conexión sin cifrar antes de que CONNECT abra el túnel y TLS se superponga hacia el destino.

Si un gestor de conexiones personalizado solo registra https, el primer salto por el proxy puede fallar con UnsupportedSchemeException: http protocol is not supported.

Para la API 4.5, incluya ambas fábricas al construir ese gestor:

var registry = RegistryBuilder.<ConnectionSocketFactory>create()
    .register("http", PlainConnectionSocketFactory.getSocketFactory())
    .register("https", tlsFactory)
    .build();

var manager = new PoolingHttpClientConnectionManager(registry);
var client = HttpClients.custom()
    .setConnectionManager(manager)
    .setProxy(new HttpHost("proxy.example.net", 8080, "http"))
    .build();

tlsFactory es el SSLConnectionSocketFactory existente de la aplicación, con su verificación prevista de confianza y de nombre de host. Los tipos mostrados pertenecen a los paquetes org.apache.http de Apache 4. El fragmento supone la inferencia de tipos de variables locales de Java; el código Java más antiguo puede usar tipos explícitos.

Vincule el gestor corregido al cliente que realmente se usa para la solicitud. Para una solicitud HTTPS pública permitida sin autenticación de proxy, una entrada HTTP de la lista de proxies HTTP puede rellenar la dirección de proxy de HttpHost. Configurar otro builder no actualiza un cliente ya construido.

Revise también la propiedad del builder: HttpClientBuilder documenta que un gestor de conexiones proporcionado explícitamente puede anular sus entradas separadas de configuración SSL. Coloque las fábricas necesarias en el registro del gestor en lugar de suponer que una llamada posterior a setSSLContext reemplazará sus interioridades.

Este diagnóstico se refiere al registro local de esquemas. Un desafío de autenticación de proxy o un destino denegado es un resultado posterior y distinto. Conserve ambos registros de fábricas mientras investiga esas respuestas.

Artículos relacionados