fix #3716: api: nodes: query metadata: use proxy option for https

When downloading an ISO, VZ template, or OVA file via the web UI, the
web UI uses the query-url-metadata endpoint to query file size, file
name and MIME type via an HTTP HEAD request. In a setup where this
request has to go over a proxy (configured via the http_proxy
datacenter option), querying the metadata only works for http:// URLs,
not https:// URLs. The reason is that the query-url-metadata handler
uses LWP and does not register the proxy for the https scheme.

Fix this by registering the proxy also for the https scheme.

This will break setups that rely on http_proxy not being respected for
https:// URLs. For example, setups that have a proxy for external
connections, but download e.g. ISO files (only) via https from an
internal repository that the proxy doesn't serve.

Signed-off-by: Friedrich Weber <f.weber@proxmox.com>
Reviewed-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Tested-by: Maximiliano Sandoval <m.sandoval@proxmox.com>
Link: https://lore.kernel.org/r/20250326105108.34911-3-f.weber@proxmox.com
This commit is contained in:
Friedrich Weber 2025-03-26 11:51:08 +01:00 committed by Thomas Lamprecht
parent e6f39a2f8f
commit 93cbef3804

View File

@ -1760,7 +1760,7 @@ __PACKAGE__->register_method({
my $dccfg = PVE::Cluster::cfs_read_file('datacenter.cfg');
if ($dccfg->{http_proxy}) {
$ua->proxy('http', $dccfg->{http_proxy});
$ua->proxy(['http', 'https'], $dccfg->{http_proxy});
}
my $verify = $param->{'verify-certificates'} // 1;