Définir un proxy HTTP pour le schéma HTTP ne configure pas nécessairement une requête HTTPS. Dans LWP, le schéma de l'URL demandée détermine quelle correspondance de proxy est consultée.

Un point de terminaison partagé explicite peut être affecté aux deux schémas :

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/');

Pour les requêtes publiques autorisées, la liste de proxys HTTP propose des candidats pour l'URL de proxy LWP partagée. La destination est HTTPS tandis que l'URL du proxy est HTTP. Il s'agit d'un agencement CONNECT normal, et non d'une raison de renommer le schéma du proxy en HTTPS.

Si l'application est censée lire les variables d'environnement de proxy, activez cette découverte via env_proxy. Une variable présente dans le shell est inutile si ce client ne l'importe jamais. Vérifiez le réglage HTTPS concerné et les règles de contournement, pas seulement la valeur HTTP.

Gardez la source de configuration choisie délibérée. Importer des paramètres d'environnement après une affectation explicite peut faire différer le résultat du point de terminaison que le code semble sélectionner.

La confiance dans les certificats et l'authentification du site restent distinctes du routage par proxy. Diagnostiquez une connexion directe, un rejet du proxy et une erreur TLS ultérieure à leurs propres étapes plutôt que de remplacer tous les paramètres à la fois.

Articles similaires