Имейте в виду - если вы создаете ssl-сертификат локально, он обычно не является доверенным для клиентов (например, веб-браузер)
Когда вы следовали процессу создания сертификата, вас спрашивали об общем имени (CN).Это должен быть домен, на котором вы планируете обслуживать свою веб-страницу, или, если вы используете его только локально, это также может быть localhost.В вашем случае вы использовали что-то другое, что не соответствует ServerName
или ServerAlias
в вашей конфигурации Apache.
Atm Я не понимаю, почему вы хотите подключиться к localhost через ssl - с точки зрения безопасности этона самом деле не нужно.
В противном случае вы можете заставить своего клиента (php) не проверять действительность сертификата
<?php
$context = stream_context_create([
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false
]
]);
$fp = stream_socket_client("ssl://localhost", $errno, $errstr, ini_get("default_socket_timeout"), STREAM_CLIENT_CONNECT, $context);
Но делать это только (!) для локальных подключений