Ich hatte in letzter Zeit viele Probleme mit meinem Login. Konkret hatte ich das Problem, dass ich erst nach sehr langer Zeit oder garnicht eingeloggt wurde. Wenn ich aber einen weiteren Tab öffnete, so war ich direkt “drin”.
Update
03.11.2020 | Erstellung dieser Anleitung. |
Hier zeige ich euch, wie ich das Problem gelöst habe. Es kann zwei Ursachen haben. Meine Anleitung bezieht sich auf meine Nextcloud Docker Anleitung. Wer diese genutzt hat, kann den Code kopieren. Ansonsten müsst ihr die Verzeichnisse anpassen.
1. Bruteforce Detection abschalten
Wenn man sich oft falsch einloggt kann es passieren, dass es sehr lange Wartezeiten gibt. Das Problem bei meiner Konfiguration ist, dass ich einen Reverse Proxy nutze und so jeder Login von diesem kommt. Wenn also einige Leute sich falsch einloggen, so kann sich jeder nur noch mit “Verzögerung” anmelden. Um euch abzusichern solltet ihr beispielsweise eine Zwei Faktor Authentifizierung aktivieren.
Nun deaktivieren wir die Bruteforce Detection. Dazu gebt ihr folgendes ein:
nano /opt/containers/nextcloud/app/config/config.php
Hier fügt ihr folgende Zeile hinzu:
'auth.bruteforce.protection.enabled' => false,
Bei mir sieht es dann so aus (Ausschnitt):
'installed' => true, 'trusted_proxies' => '172.18.0.x/16', 'auth.bruteforce.protection.enabled' => false, );
Nun haben wir die Funktion deaktiviert. Jetzt lassen wir uns alle bisherigen Angriffe anzeigen.
Dazu gebt ihr folgendes ein:
docker exec DockerContainer-Datenbank /bin/bash -c "/usr/bin/mysql -u User -pPasswort Datenbankname -e\"SELECT * FROM oc_bruteforce_attempts;\"" bei mir konkret ist dies: docker exec nextcloud-db /bin/bash -c "/usr/bin/mysql -u nextcloud -pTest nextcloud -e\"SELECT * FROM oc_bruteforce_attempts;\""
Nun haben wir die Funktion deaktiviert. Jetzt löschen wir noch die bisherigen Angriffe aus der Datenbank.
Dazu gebt ihr folgendes ein:
docker exec nextcloud-db /bin/bash -c "/usr/bin/mysql -u nextcloud -pTest nextcloud -e\"DELETE * FROM oc_bruteforce_attempts;\""
Nun könnt ihr einfach den Container neu starten und es sollte funktionieren.
docker-compose -f /opt/containers/nextcloud/docker-compose.yml down docker-compose -f /opt/containers/nextcloud/docker-compose.yml up -d
2. Content Security Policy directive blockiert Login
Ob es dieser Fehler ist, könnt ihr sehr schnell feststellen. Dazu müsst ihr einfach in die Entwicklertools eures Browsers gehen. Dort wird die Fehlermeldung dann angezeigt, wenn ihr euch versucht einzuloggen.
Den Fehler löst ihr, indem ihr folgende Datei öffnet.
nano /opt/containers/nextcloud/app/config/config.php
Hier fügt ihr folgendes ein:
'overwriteprotocol' => 'https', 'overwritehost' => 'cloud.euredomain.de',
Bei mir sieht es dann so aus (Ausschnitt):
'installed' => true, 'trusted_proxies' => '172.18.0.x/16', 'auth.bruteforce.protection.enabled' => false, 'overwriteprotocol' => 'https', 'overwritehost' => 'cloud.euredomain.de', );
Nun könnt ihr einfach den Container neu starten und es sollte funktionieren.
docker-compose -f /opt/containers/nextcloud/docker-compose.yml down docker-compose -f /opt/containers/nextcloud/docker-compose.yml up -d