Zum Inhalt

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.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj

Source

Photo by Jordan Harrison on Unsplash