NC meldet Benutzer dauernd automatisch ab

Moin, bei meiner kürzlich neu installierten Nextcloud tritt nun das Problem auf, das Benutzer nach ca. 2-3 Minuten Nichtbenutzung den Benutzerabmeldet. Dieser kommt dann erneut auf die Anmeldeseite, und muss Benutzername und Passwort eingeben.
Das nervt ziemlich.

Bisher habe ich versucht mit Parameter in der config.php und der php.ini dagegenzusteuern. Leider jedoch ohne Erfolg.

Nextcloud Version 28.0.1 auf einem LAMP-Stack

<?php
$CONFIG = array (
  'instanceid' => '****',
  'passwordsalt' => '****',
  'secret' => '*****',
  'trusted_domains' =>
  array (
    0 => '192.168.178.113',
  ),
  'datadirectory' => '/var/daten',
  'dbtype' => 'mysql',
  'version' => '28.0.1.1',
  'overwrite.cli.url' => 'http://192.168.178.113',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => '****',
  'dbpassword' => '***',
  'installed' => true,
  'activity_expire_days' => 14,
  'allow_local_remote_servers' => true,
  'auth.bruteforce.protection.enabled' => true,
  'blacklisted_files' =>
  array (
    0 => '.htaccess',
    1 => 'Thumbs.db',
    2 => 'thumbs.db',
  ),
  'cron_log' => true,
  'default_phone_region' => 'DE',
  'defaultapp' => 'files,dashboard',
  'enable_previews' => true,
  'enabledPreviewProviders' =>
  array (
    0 => 'OC\\Preview\\PNG',
    1 => 'OC\\Preview\\JPEG',
    2 => 'OC\\Preview\\GIF',
    3 => 'OC\\Preview\\BMP',
    4 => 'OC\\Preview\\XBitmap',
    5 => 'OC\\Preview\\Movie',
    6 => 'OC\\Preview\\PDF',
    7 => 'OC\\Preview\\MP3',
    8 => 'OC\\Preview\\TXT',
    9 => 'OC\\Preview\\MarkDown',
  ),
  'filesystem_check_changes' => 0,
  'filelocking.enabled' => 'true',
  'htaccess.RewriteBase' => '/',
  'integrity.check.disabled' => false,
  'knowledgebaseenabled' => false,
  'logfile' => '/var/log/nextcloud/nextcloud.log',
  'loglevel' => '2',
  'logtimezone' => 'Europe/Berlin',
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'overwriteprotocol' => 'http',
  'preview_max_x' => 1024,
  'preview_max_y' => 768,
  'preview_max_scale_factor' => 1,
  'profile.enabled' => false,
  'redis' =>
  array (
    'host' => '/var/run/redis/redis-server.sock',
    'port' => 0,
    'password' => '****',
    'timeout' => 0.5,
    'dbindex' => 1,
  ),
  'forwarded_for_headers' =>
  array (
    0 => 'HTTP_X_FORWARDED',
    1 => 'HTTP_FORWARDED_FOR',
    2 => 'HTTP_X_FORWARDED_FOR',
  ),
  'quota_include_external_storage' => false,
  'skeletondirectory' => '',
  'theme' => '',
  'trashbin_retention_obligation' => 'auto, 7',
  'updater.release.channel' => 'stable',
  'remember_login_cookie_lifetime' => 1296000,
  'versions_retention_obligation' => 'auto, 365',
  'simpleSignUpLink.shown' => false,
  'upgrade.disable-web' => true,
  'log.condition' =>
  array (
    'apps' =>
    array (
      0 => 'admin_audit',
    ),
  ),
  'log_rotate_size' => '0',
  'maintenance' => false,
  'session_keepalive' => true,
  'auto_logout' => false,
  'session_lifetime' => 36000,
);

Bisher ist das ganze noch keine Umgebung die im produktiven Einsatz ist, daher nur der Zugriff über HTTP.

In der php.ini hab ich den Parameter “session.gc_maxlifetime” verändert.

Wäre super, wenn mir diesbezüglich jemand helfen könnte.

Hast du unterschiedliche Clients ausprobiert? Passiert das überall. Prüfe auch mal ob die Uhrzeiten auf allen Systemen (Clients und Server) korrekt sind. Die Sitzung sollte in den Cookies gespeichert werden. Auch die kannst du dir mal anschauen und evtl. hier (anonymisiert) posten.

Keine Ahnung wie man sich die Cookies anschaut.

Die Uhr auf dem Server ging eine Minute vor, im Vergleich zu meinem PC. Nachdem ich das korrigiert habe, scheine ich nicht mehr abgemeldet zu werden.

Edit: Das ganze scheint immernoch zu passieren. Jetzt aber scheinbar in unregelmäßigeren Abständen. Wurde eben wieder abgemeldet.

Beim Firefox kommst du über F12 und dann Web-Speicher zu den Informationen. Bei anderen Browsern ist es leicht abweichend aber auch F12. Scheinbar sind die Cookies 15 Tage gültig siehe hier. Was steht denn bei dir im Browser?

Frage an die Experten:
Kann die Abmeldung darauf beruhen, dass Nextcloud über http und nicht über https aufgerufen wird? - Dann könnte es ein Sicherheits-Feature sein.

Ich denke eher nicht. Wenn Nextcloud ein Problem mit HTTP hätte, sollte sie dann gar keine Anmeldungen mehr zulassen. Andere Beiträge hier im Forum zeigen, dass HTTP kein Problem ist (höchstens bei Einrichtung der Zertifikate). HTTP ist ja auch kein Problem wenn Nextcloud mit einem Revese Proxy verwendet wird.

Das wird mir dort angezeigt. Das ist jetzt auf der Anmeldeseite der Nextcloud.
Hab jetzt mal “sessionPassphrase” unkenntlich gemacht, hört sich wichtig an. Falls das benötigt wird, kann ich den Screenshot auch gerne nochmal unbearbeitet hochladen.

Ich kenne mich damit auch nicht aus. Aber wie lang ist denn Zeit für die beiden Einträge mit Sitzungsende beim Start wenn sie noch nicht abgelaufen sind? Lösche evtl. vorher alle Cookies.

Und auf welchen Wert hast Du das geändert?

Wenn Du die Default-Werte verwenden möchtest, dann brauchst Du sie doch nicht in Deiner config.php aufführen.

'remember_login_cookie_lifetime' => 1296000,	(default)
'session_lifetime' => 36000,					(default)
'session_keepalive' => true,					(default)
'auto_logout' => false,							(default)

Siehe Nextcloud Admin-Handbuch

Ich würde die Zeilen in der config.php einmal versuchsweise entfernen.

In meiner config.php steht kein solcher Eintrag, in meiner php.ini hat der Parameter “session.gc_maxlifetime” einen Wert von 1440 (24 Minuten) und trotzdem läuft die Session erst in 24 Stunden ab. Der Wert ist erst entscheidend, wenn Du von den Default-Werten abweichen möchtest und dies dann in der config.php entsprechend steuern möchtest.

Siehe dazu auch den Beitrag Auto Logout ignoriert Zeitvorgabe

Dort wurden individuelle Zeitvorgaben eingestellt und dazu muss dann auch der Wert von “session.gc_maxlifetime” entsprechend passen.

Das mit den config.php Parametern wusste ich nicht. Werde sie gleich mal entfernen und dann prüfen ob das immernoch passiert.

Den verlinken Beitrag (Auto Logout…) hab ich auch gesehen. Wie dort beschrieben, habe ich dann auch die php.ini verändert. Die Werte in der config.php stimmen mit der in der php.ini überein.
Bei beiden steht 36000 drin.

Edit: Hab nun mal die config.php geändert, und die Parameter rausgenommen, dennoch verändert sich nichts. Gleichzeitig habe ich auch mal die Zeit gemessen wie lange es dauert bis ich automatisch abgemeldet werden. Dabei kamen grob so ca. 13 Minuten raus.

Hat keiner mehr eine Idee?