Nextcloud und das lästige Problem mit /.well-known/caldav & /.well-known/carddav

Nach der erfolgreichen Installation und Inbetriebnahme eurer Nextcloud führt ihr den ersten Sicherheitscheck durch und bekommt die folgenden Meldungen angezeigt:

Your web server is not properly set up to resolve “/.well-known/caldav”.
Your web server is not properly set up to resolve “/.well-known/carddav”.

Sucht man in den Weiten des Internets nach einer Lösung, dann stößt man auf sehr sehr viele Anleitungen und Foreneinträge mit teilweise unterschiedlichen Lösungsvorschlägen.


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Ich hatte das Problem auch und habe die folgende Lösung für mich gefunden.

Ich verwende einen Apache2-Webserver, dessen gesamte Konfiguration im Verzeichnis /etc/apache2 zu finden ist.
Für eure Nextcloud-Instanz habt ihr bereits in diesem Verzeichnis eine neue Datei mit der Benennung nach euer Domain angelegt, z.B. meine-domain.conf.
Zusätzlich dazu sollte sich im gleichen Ordner noch eine andere Datei befinden, mit dem Namen 000-default-le-ssl.conf und genau diese Datei ist anzupassen. Die Datei ist vielleicht schon automatisch bei der Installation von Apache2 angelegt worden.

Zuerst erstellen wir eine Backup-Datei, damit wir jederzeit wieder zurück zur Ausgangssituation können

cd /etc/apache2/sites-available
sudo cp 000-default-le-ssl.conf 000-default-le-ssl.conf-bak 

Anschließend editieret man die Datei

sudo nano 000-default-le-ssl.conf

Der Aufbau der Datei sieht wie folgt aus:

<IfModule mod_ssl.c>

<VirtualHost *:80>
        ...
        ...
        ...
</VirtualHost>

<VirtualHost *:443>
        ...
        ...
        ...
</VirtualHost>

</IfModule>

Für die Lösung des Problems ist der Abschnitt unter VirtualHost *:443 relevant. Dort sind die folgenden Zeilen unterhalb von „DocumentRoot /var/www/html“ einzutragen:

    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; strict-origin; preload"
      Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
      Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
    </IfModule>

Die Datei sieht dann wie folgt aus:

<IfModule mod_ssl.c>

<VirtualHost *:80>
        ...
        ...
        ...
</VirtualHost>

<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

    <IfModule mod_headers.c>
      Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains; strict-origin; preload"
      Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
      Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
    </IfModule>

        ...
        ...
        ...

</VirtualHost>
</IfModule>