Richten Sie HTTPS auf Apache2 ein, ohne einen Domänennamen zu kaufen

Richten Sie HTTPS auf Apache2 ein, ohne einen Domänennamen zu kaufen

Ich habe erfolgreich eine Site (2 virtuelle Hosts, ich habe eine andere Site in derselben Domäne) mit Apache2 auf Debian 9 Stretch (Raspian, da es sich um Raspberry handelt) erstellt.

Es ist unter diesem Pfad gespeichert: /var/www/html/www.mysite.ddns.net/www/. Ich kann über den folgenden Link darauf zugreifen:mysite.ddns.net

Nun möchte ich eine https-Verbindung einrichten, also habe ich versucht, Let's Encrypt zu verwenden mitCertbot

Wenn ich den Befehl ausführe sudo certbot --apache, erhalte ich leider diesen Fehler:

Obtaining a new certificate
Performing the following challenges:
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.
Client with the currently selected authenticator does not support any combination of challenges that will satisfy the CA.

Wo ist das Problem?

Antwort1

Der automatisierte certbot --apacheModus funktioniert möglicherweise nicht, da die URL Ihrer Site nicht genau mit dem Stammverzeichnis übereinstimmt, das Sie in Apache verwenden.

Eine Möglichkeit besteht darin, den für das Zertifikat zu verwendenden Domänennamen sowie das Stammverzeichnis des Webservers manuell anzugeben.

certbot certonly --webroot -w /var/www/html/www.mysite.ddns.net/www/ -d mysite.ddns.net

Dieser Befehl verwendet /var/www/html/www.mysite.ddns.net/www/das Stammverzeichnis Ihres Webservers. Certbot legt dort temporäre Dateien (eindeutig für Ihren Domänennamen) in einem Verzeichnis mit dem Namen ab .well_knownund versucht dann, diese Dateien unter zu lesen http://mysite.ddns.net/.well_known. Wenn diese Dateien gefunden werden, wird Ihnen ein Zertifikat ausgestellt.

Die Zertifikatsdateien werden in abgelegt /etc/letsencrypt/live/mysite.ddns.net/.

Um Apache für die Verwendung dieser Zertifikate zu konfigurieren, können Sie sie wie folgt zu Ihrer Apache-Site-Konfiguration hinzufügen:

SSLEngine on
SSLCertificateKeyFile /etc/letsencrypt/live/mysite.ddns.net/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/mysite.ddns.net/fullchain.pem

Stellen Sie außerdem sicher a2enmod ssl, dass das SSL-Modul für Apache aktiviert ist.

Es gibt auch einige weitere Certbot-Beispiele imBenutzerhandbuch.

verwandte Informationen