Proxy-Einstellungen für Perl LWP unter HTTP und HTTPS
Konfigurieren Sie Perl LWP für HTTPS-Ziele explizit und aktivieren Sie die Umgebungserkennung, wenn diese die beabsichtigte Quelle der Einstellungen ist.
Ein HTTP-Proxy für das HTTP-Schema festzulegen, konfiguriert nicht zwangsläufig eine HTTPS-Anfrage. In LWP bestimmt das Schema der angeforderten URL, welche Proxy-Zuordnung herangezogen wird.
Ein expliziter gemeinsamer Endpunkt kann beiden Schemata zugewiesen werden:
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/');Für zulässige öffentliche Anfragen bietet die HTTP-Proxy-Liste Kandidaten für die gemeinsame LWP-Proxy-URL. Das Ziel ist HTTPS, während die Proxy-URL HTTP ist. Das ist eine normale CONNECT-Anordnung und kein Grund, das Proxy-Schema in HTTPS umzubenennen.
Wenn die Anwendung Proxy-Umgebungsvariablen lesen soll, aktivieren Sie diese Erkennung über env_proxy. Eine in der Shell vorhandene Variable nützt nichts, wenn dieser Client sie nie importiert. Prüfen Sie die relevante HTTPS-Einstellung und die Bypass-Regeln, nicht nur den HTTP-Wert.
Halten Sie die gewählte Konfigurationsquelle bewusst. Das Importieren von Umgebungseinstellungen nach einer expliziten Zuweisung kann dazu führen, dass das Ergebnis vom Endpunkt abweicht, den der Code scheinbar wählt.
Zertifikatsvertrauen und Website-Authentifizierung bleiben vom Proxy-Routing getrennt. Diagnostizieren Sie eine direkte Verbindung, eine Proxy-Ablehnung und einen späteren TLS-Fehler in ihren jeweiligen Phasen, statt alle Einstellungen auf einmal zu ersetzen.