Holen Sie sich SSL für virtuelle Hosts auf MacOS (Apache)

Holen Sie sich SSL für virtuelle Hosts auf MacOS (Apache)

Ich habe einen Mac OS Big Sur-Host, auf dem Apache läuft. Ich habe mehrere virtuelle Hosts konfiguriert. Jetzt möchte ich SSL aktivieren, damit ich auf eine lokale Site zugreifen kann mithttps://beispiel.local.

Ich beschäftige mich jetzt schon seit über drei Stunden mit diesem Problem und kein einziges Tutorial scheint zu funktionieren.

DasTutorial als Beispiel: Schritt zwei gibt den folgenden Fehler aus:

unable to load Private Key
4781444780:error:09FFF06C:PEM routines:CRYPTO_internal:no start line:/AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/libressl/libressl-56.60.2/libressl-2.8/crypto/pem/pem_lib.c:684:Expecting: ANY PRIVATE KEY

server.key befindet sich jedoch im Verzeichnis.

Ich habe auch versuchtdieses Tutorial mit Certbot. Aber Certbot benötigt eine öffentlich zugängliche Domäne, mein lokaler virtueller Host ist natürlich nicht öffentlich.

Ein anderer Befehl, den ich ausprobiert habe und von dem ichHierIst:

openssl req -x509 -out localhost.crt -keyout localhost.key \
  -newkey rsa:2048 -nodes -sha256 \
  -subj '/CN=example.local' -extensions EXT -config <( \
   printf "[dn]\nCN=example.local\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:example.local\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")

Dann habe ich meine Vhost-Datei wie folgt konfiguriert:

<VirtualHost *:443>
    DocumentRoot "/Users/Niel/Sites/example/"
    ServerName example.local

    SSLEngine on
    SSLCertificateFile "/Users/niel/.config/letsencrypt/localhost.crt"
    SSLCertificateKeyFile "/Users/niel/.config/letsencrypt/localhost.key"

    <Directory "/Users/Niel/Sites/example/">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Dies führt zu folgendem Fehler in /var/log/apache2/error_log:

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[Tue Dec 29 00:15:13.939507 2020] [ssl:warn] [pid 68986] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
PHP Warning:  PHP Startup: Unable to load dynamic library 'zip.so' (tried: /usr/lib/php/extensions/no-debug-non-zts-20180731/zip.so (dlopen(/usr/lib/php/extensions/no-debug-non-zts-20180731/zip.so, 9): image not found), /usr/lib/php/extensions/no-debug-non-zts-20180731/zip.so.so (dlopen(/usr/lib/php/extensions/no-debug-non-zts-20180731/zip.so.so, 9): image not found)) in Unknown on line 0
[Tue Dec 29 00:15:14.145551 2020] [mpm_prefork:notice] [pid 68986] AH00163: Apache/2.4.46 (Unix) LibreSSL/2.8.3 PHP/7.3.24-(to be removed in future macOS) configured -- resuming normal operations
[Tue Dec 29 00:15:14.145632 2020] [core:notice] [pid 68986] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Tue Dec 29 00:19:41.205429 2020] [authz_core:error] [pid 69057] [client 127.0.0.1:58915] AH01630: client denied by server configuration: /Users/Niel/Websites

Wie auch immer, ich habe tausend Dinge ausprobiert, aber nichts hat funktioniert. Wie kann ich mit Apache unter MacOS SSL auf meinen virtuellen Hosts erhalten?

verwandte Informationen