Setting an HTTP proxy for the HTTP scheme does not necessarily configure an HTTPS request. In LWP, the requested URL's scheme determines which proxy mapping is consulted.

An explicit shared endpoint can be assigned to both schemes:

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

For permitted public requests, the HTTP proxy list offers candidates for the shared LWP proxy URL. The destination is HTTPS while the proxy URL is HTTP. That is a normal CONNECT arrangement, not a reason to rename the proxy scheme to HTTPS.

If the application is supposed to read proxy environment variables, opt into that discovery through env_proxy. A variable present in the shell is not useful if this client never imports it. Inspect the relevant HTTPS setting and bypass rules, not just the HTTP value.

Keep the chosen source of configuration deliberate. Importing environment settings after an explicit assignment can make the result differ from the endpoint the code appears to select.

Certificate trust and website authentication remain separate from proxy routing. Diagnose a direct connection, a proxy rejection, and a later TLS error at their own stages rather than replacing every setting at once.

Mikanda mikatakata