Let´s Encrypt - Please add a virtual host for port 80.
Heute war es mal wieder sow eit, die Aktualisierung meines SSL-Zertifikats stand an. Ich habe deshalb alle Schritte durchgeführt, wie in meinem früheren Beitrag 👉 Let´s Encrypt – Problem binding to port 80: Could not bind to IPv4 or IPv6. beschrieben. Leider hat es aber diesmal nicht funktioniert und ich habe den folgenden Fehler erhalten:
Unable to find a virtual host listening on port 80 which is currently needed for Certbot
to prove to the CA that you control your domain. Please add a virtual host for port 80.
Das Problem
Zuerst habe ich den Apache2 ausgeschaltet
sudo service apache2 stop
Ich habe versucht mit dem folgenden Befehl das Zertifikat zu erneuern:
sudo /etc/letsencrypt/letsencrypt-auto certonly --dry-run --agree-tos --renew-by-default --webroot-path /var/www/html/ -d meinenextcloud.de
Anschließend habe ich die Option 1 ausgewählt
How would you like to authenticate with the ACME CA?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: Apache Web Server plugin (apache)
2: Spin up a temporary webserver (standalone)
3: Place files in webroot directory (webroot)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-3] then [enter]
Bis dahin hat alles gut ausgeschaut und dann kam der Fehler:
Unable to find a virtual host listening on port 80 which is currently needed for Certbot
to prove to the CA that you control your domain. Please add a virtual host for port 80.
Fehlersuche
Zuerst habe ich also mal nachgeschaut, ob ich in /etc/apache2/sites-available/meinenextcloud.de.conf
einen Virtual Host konfiguriert habe. Die Datei sieht folgendermaßen aus und passt.
<VirtualHost *:80>
ServerName meinenextcloud.de
Redirect permanent / https://meinenextcloud.de/nextcloud
</VirtualHost>
<VirtualHost *:443>
ServerName meinenextcloud.de/nextcloud
Redirect permanent / meinenextcloud.de/nextcloud
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; preload"
</IfModule>
</VirtualHost>
Im nächsten Schritt habe ich die Datei /etc/apache2/sites-available/000-default-le-ssl.conf
geprüft und dort keinen Virtual Host mit Port 80 gefunden. Deshalb habe ich ein paar Zeilen für den Port 80 eingefügt.
<IfModule mod_ssl.c>
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName meinenextcloud.de
</VirtualHost>
<VirtualHost *:443>
...
</VirtualHost>
</IfModule>
Nach der Anpassung hat dann auch die Aktualisierung des Zertifikats wunderbar funktioniert.
Nicht vergessen zum Schluss den Apache2 wieder anzuschalten!
sudo service apache2 start
Gib mir gerne einen Kaffee ☕ aus ❗️
Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.
Follow Me❗️
Source
Photo by Jordan Harrison on Unsplash