This is most probably because you may be using a self-signed certificate and it can't be verified properly.
InterventionImage uses stream_context_create which by default verifies the certificate.
Since Intervention Image doesn't directly allow a workaround via options, open vendor/intervention/image/src/Intervention/Image/AbstractDecoder
and inside the function initFromUrl()
add this
'ssl' => array(
'verify_peer' => false,
)
It will look something like this:
$options = [
'http' => [
'method'=>"GET",
'protocol_version'=>1.1, // force use HTTP 1.1 for service mesh environment with envoy
'header'=>"Accept-language: en\r\n".
"User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36\r\n"
],
'ssl' => array(
// don't validate certificate
'verify_peer' => false,
// alternatively you may add our certificate file path here and make
// 'cafile' => __DIR__ . '/cacert.pem',
// 'verify_depth' => 5,
// 'CN_match' => 'your-local-domain.com'
)
];
$context = stream_context_create($options);
It's not the perfect solution but it will allow you to continue to work locally.