Definir un proxy HTTP para el esquema HTTP no configura necesariamente una solicitud HTTPS. En LWP, el esquema de la URL solicitada determina qué asignación de proxy se consulta.

Se puede asignar un punto de conexión compartido explícito a ambos esquemas:

use LWP::UserAgent;

my $ua = LWP::UserAgent->new(timeout => 15);
$ua->proxy(['http', 'https'], 'http://proxy.example.net:8080');
my $response = $ua->get('https://example.com/');

Para las solicitudes públicas permitidas, la lista de proxies HTTP ofrece candidatos para la URL compartida del proxy de LWP. El destino es HTTPS mientras que la URL del proxy es HTTP. Es una disposición CONNECT normal, no un motivo para cambiar el nombre del esquema del proxy a HTTPS.

Si la aplicación debe leer variables de entorno de proxy, habilite ese descubrimiento mediante env_proxy. Una variable presente en el shell no sirve de nada si este cliente nunca la importa. Revise la configuración HTTPS correspondiente y las reglas de omisión, no solo el valor HTTP.

Mantenga deliberada la fuente de configuración elegida. Importar la configuración del entorno después de una asignación explícita puede hacer que el resultado difiera del punto de conexión que el código parece elegir.

La confianza en el certificado y la autenticación del sitio web siguen siendo independientes del enrutamiento del proxy. Diagnostique una conexión directa, un rechazo del proxy y un error TLS posterior en sus propias etapas en lugar de sustituir toda la configuración a la vez.

Artículos relacionados