Nextcloud auf Raspberry Pi CalDAV iOS keine http Synchronisation

Hallo zusammen,

wie in der Themenüberschrift angedeutet, habe ich eine Nextcloudinstanz auf meinem Raspberry Pi 4B (DietPi) installiert. Weiterhin läuft dort AdGuardHome+Unbound. Über eine DynDNS-Adresse ist AGH über Https erreichbar.

Meine Nextcloud möchte ich hingegen nicht von außen erreichbar machen. Die soll nur für meine Partnerin und mich per Wireguard-Verbindung im eigenen Netz erreichbar sein. Das habe ich mit PiVPN umgesetzt und das klappt auch, zumindest was das Einwählen im Heimnetz oder das Einloggen in die App betrifft. Sind wir nicht im Heimnetz, ist nichts erreichbar.

Meinen GrapheneOS-Kalender konnte ich auch problemlos mit dem Nextcloud-Kalender über DAVX verknüpfen. Aber bei dem iPhone meiner Freundin klappt das nicht. Das meckert immer rum wegen fehlender SSL-Verschlüsselung. Zwar kann ich wählen, dass ich diese nicht möchte und das auf Port 80 umstellen, aber er synchronisiert die Kalender nicht, egal was ich für eine Serveradresse angebe.

Ich habe alles versucht, bin auch immer mit dem iPhone im Heimnetz (entweder im Haus oder per Wireguard, wenn außerhalb).

Daher meine Fragen:
a) Kennt jemand hier eine Lösung, wie ich das dem iPhone beibringen kann? Die Lösungen in den Foren im Netz halfen bislang nicht.

b) Kann ich alternativ die Nextcloud mit https-Zertifkat ausstatten, ohne dass diese dann von außen erreichbar ist? Sprich: momentan ist die ja nur über die Adresse 192.168.178.xx/nextcloud erreichbar. Kann ich dieser Adresse ein SSL-Zerfitikat erstellen? Denn meine DynDNS ist ja erstens mit AdGuard „belegt“ und dann wäre die Cloud ja von außen erreichbar, was ich gerade nicht möchte.

Falls jemand Lösungen hat, freue ich mich sehr!

Danke im Voraus.

1 „Gefällt mir“

Ab iOS 13 und macOS 10.15 wird zwingend SSL vorausgesetzt. Die Zertifikate müssen zudem besondere Eigenschaften besitzen:
https://support.apple.com/de-de/HT210176

Das Problem wird auch im Nextcloud-Forum diskutiert:
https://help.nextcloud.com/t/caldav-connection-on-ios-devices/40320

Nein, das geht nicht. Ein Zertifikat kann nicht auf eine IP-Adresse ausgestellt werden. Üblicherweise holt man sich ein Lets Encrypt Zertifikat, das wird dann automatisch verlängert.
Dies bedingt, dass TCP Ports 80 und 443 zum Zeitpunkt der Ausstellung und Verlängerung offen sind. Alternativ kann man die DNS-Challenge zur einrichten, das beherrschen aber nicht alle Provider (ich bin bei Hetzner, die können es und Netcup kann es auch).

Grundsätzlich geht das schon: How to generate a self-signed SSL certificate for an IP address.

Damit das selbst-signierte Zertifikat anstandslos akzeptiert wird, braucht man eine eigene CA, die dann in den Zertifikatsspeicher hinterlegt wird und das Zertifikat signiert.

1 „Gefällt mir“

Ja, hätte schreiben sollen, dass das mit einem von einer tatsächlichen CA ausgestellten Zertifikat nicht geht. Hast du recht, war unklar formuliert. Danke für die Klarstellung.