Nextcloud zur SSL-Nutzung zwingen

Nextcloud zur SSL-Nutzung zwingen

Wer schon immer eine eigene Cloud betreiben wollte, dem wird eine selbst gehostete Nextcloud gefallen. Der Vorgänger der Nextcloud war die OwnCloud, die jedoch nicht mehr weiterentwickelt wird.

Das grundlegende Problem

Es ist natürlich auch möglich, eine Nextcloud beim Hoster seines Vertrauens für ein paar Euro im Monat zu hosten und eine Domain in Verbindung mit Cloudflare zu nutzen. Cloudflare stellt mit CloudFlare Origin CA, seinen Kunden kostenlose SSL-Zertifikate aus. Bei den SSL-Einstellungen “Full” oder “Full (strict)” ist es möglich, dass bestimmte Funktionen nicht mehr gegeben sind. 

Lösung des Problems

Eine mögliche Lösung ist die Erweiterung der Apache .htaccess oder die NGINX-Konfigurationsdatei mit folgenden zwei Anweisungen. bei denen die Anfragen an den Webserver von HTTP auf HTTPS umgeleitet werden. In den meisten Fällen ist diese Konfigurationsanpassung auch sinnvoll.

Konfiguration von NGINX
server {
     listen 80 default_server;
     listen [::]:80 default_server;
     server_name _;
     return 301 https://$host$request_uri;
 }
Konfiguration von .htaccess Apache
RewriteEngine On 
RewriteCond %{HTTPS}  !=on 
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] 
Anpassung der Nextcloud Konfiguration

Die Konfigurationsdatei einer Nextcloud befindet sich im Verzeichnispfad config/config.php.

In dieser Konfigurationsdatei muss die nachfolgende Anweisung eingefügt werden. Die Anweisung ist mit Abspeichern der Datei gültig.

'overwriteprotocol' => https,

Bis 2016 gab es die Möglichkeit, in der Konfigurationsdatei mit den folgenden Anweisungen zu arbeiten. Diese Anweisungen wurden leider mit OwnCloud Version 8.1 entfernt und können nicht weiter genutzt werden.

'forcessl' => true,
'forceSSLforSubdomains' => true,