WebDav 403 Errors

Nextcloud version (eg, 20.0.5): 24.0.9
Operating system and version (eg, Ubuntu 20.04): Unraid 6.11.5
Apache or nginx version (eg, Apache 2.4.25): nginx/1.20.2
PHP version (eg, 7.4): PHP 8.0.25

The issue you are facing:
I recently upgraded from NC 22 to NC23, and then to NC24. Now I’m unable to upload or delete files via the web browser, but I can still upload with the Android client. I get a standard error “File could not be deleted.” or “Operation is blocked by access control”.

Moving files also fails. I can see the 403 errors in the Admin panel but I’m not sure if they provide much help…

I’m also using postgres DB, redis, and elasticsearch as well. Everything is set up in Docker within Unraid.

Is this the first time you’ve seen this error? (Y/N): N

Steps to replicate it:

  1. Upload a file or attempt to delete a file via web browser.

The output of your Nextcloud log in Admin > Logging:

Expanding on the 403 Error:

Debug	webdav	Sabre\DAV\Exception\Forbidden: 
/config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Tree.php - line 160:

OCA\DAV\Connector\Sabre\Directory->moveInto()

/config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php - line 612:

Sabre\DAV\Tree->move()

/config/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php - line 89:

Sabre\DAV\CorePlugin->httpMove()

/config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 472:

Sabre\DAV\Server->emit()

/config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 253:

Sabre\DAV\Server->invokeMethod()

/config/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php - line 321:

Sabre\DAV\Server->start()

/config/www/nextcloud/apps/dav/lib/Server.php - line 358:

Sabre\DAV\Server->exec()

/config/www/nextcloud/apps/dav/appinfo/v2/remote.php - line 35:

OCA\DAV\Server->exec()

/config/www/nextcloud/remote.php - line 170:

require_once("/config/www ... p")

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => 'mylocalIP',
    'port' => 6379,
  ),
  'datadirectory' => '/data',
  'instanceid' => 'oc7cksd6v6qf',
  'passwordsalt' => 'xxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxx',
  'trusted_domains' => 
  array (
    0 => '<myLocalIP:444',
    1 => 'mySite',
  ),
  'trusted_proxies' => 
  array (
    0 => 'Nginx-Proxy-Manager-Official',
  ),
  'default_phone_region' => 'US',
  'dbtype' => 'pgsql',
  'version' => '24.0.9.2',
  'overwrite.cli.url' => 'https://mysite.com',
  'overwritehost' => 'mysite.com',
  'overwriteprotocol' => 'https',
  'dbname' => 'nextcloud',
  'dbhost' => '<mylocalIP>:5432',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'nextcloud',
  'dbpassword' => 'DBpassword',
  'installed' => true,
  'mail_from_address' => 'nc',
  'mail_smtpmode' => 'smtp',
  'mail_sendmailmode' => 'smtp',
  'mail_domain' => 'mySite.com',
  'mail_smtpauth' => 1,
  'mail_smtphost' => 'smtp.gmail.com',
  'mail_smtpport' => '587',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_smtpsecure' => 'tls',
  'mail_smtpname' => 'email',
  'mail_smtppassword' => 'emailpassword',
  'chunkSize' => '5120MB',
  'theme' => '',
  'loglevel' => 0,
  'maintenance' => false,
  'app_install_overwrite' => 
  array (
    0 => 'bookmarks_fulltextsearch',
  ),
  'enable_previews' => true,
  'enabledPreviewProviders' => 
  array (
    0 => 'OC\\Preview\\Movie',
    1 => 'OC\\Preview\\PNG',
    2 => 'OC\\Preview\\JPEG',
    3 => 'OC\\Preview\\GIF',
    4 => 'OC\\Preview\\BMP',
    5 => 'OC\\Preview\\XBitmap',
    6 => 'OC\\Preview\\MP3',
    7 => 'OC\\Preview\\MP4',
    8 => 'OC\\Preview\\TXT',
    9 => 'OC\\Preview\\MarkDown',
    10 => 'OC\\Preview\\PDF',
  ),
  'twofactor_enforced' => 'false',
  'twofactor_enforced_groups' => 
  array (
    0 => 'admin',
  ),
  'twofactor_enforced_excluded_groups' => 
  array (
  ),
);

The output of your Apache/nginx/system log in /var/log/____:

(nginx error log is empty)

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

I’m a bit lost with this one, I don’t have a nextcloud.log file with recent entries in it. Running find . --name nextcloud.log returns a few locations:

./config/data/nextcloud.log
./config/www/nextcloud/data/nextcloud.log
./config/nextcloud.log

But none of those logs have anything from the last year in them…