SMB.php line 222 Error Only Behind nginx reverse proxy

Nextcloud version (eg, 20.0.5): 20.0.8
Operating system and version (eg, Ubuntu 20.04): Debian 10 Buster
Apache or nginx version (eg, Apache 2.4.25): 2.4.38
PHP version (eg, 7.4): 7.3

The issue you are facing:

Error: Undefined offset: 1 at /var/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB/php#222

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

Steps to replicate it:

  1. Access Nextcloud 20 behind nginx reverse proxy
  2. Attempt to drag/drop new file onto server
  3. Error

The output of your Nextcloud log in Admin > Logging:

[PHP] Error: Error: Undefined offset: 1 at /var/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php#222 at <<closure>>

 0. /var/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php line 222
    OC\Log\ErrorHandler::onError(8, "Undefined offset: 1", "/var/www/nextcl ... p", 222, {file: Icewind\S ... "})
 1. /var/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php line 254
    OCA\Files_External\Lib\Storage\SMB->getACL(Icewind\SMB\Wrapped\FileInfo {})
 2. /var/www/nextcloud/apps/files_external/lib/Lib/Storage/SMB.php line 615
    OCA\Files_External\Lib\Storage\SMB->getFolderContents("*** sensitive parameter replaced ***")
 3. /var/www/nextcloud/lib/private/Files/Storage/Wrapper/PermissionsMask.php line 158
    OCA\Files_External\Lib\Storage\SMB->getDirectoryContent("*** sensitive parameter replaced ***")
 4. <<closure>>
    OC\Files\Storage\Wrapper\PermissionsMask->getDirectoryContent("*** sensitive parameter replaced ***")
 5. /var/www/nextcloud/lib/private/Files/Cache/Scanner.php line 408
    iterator_to_array(Generator {})
 6. /var/www/nextcloud/lib/private/Files/Cache/Scanner.php line 388
    OC\Files\Cache\Scanner->handleChildren("*** sensitive parameter replaced ***", false, 3, 317566, true, 0)
 7. /var/www/nextcloud/lib/private/Files/Cache/Scanner.php line 340
    OC\Files\Cache\Scanner->scanChildren("*** sensitive parameter replaced ***", false, 3, 317566, true)
 8. /var/www/nextcloud/lib/private/Files/Cache/Watcher.php line 106
    OC\Files\Cache\Scanner->scan("*** sensitive parameter replaced ***", false)
 9. /var/www/nextcloud/lib/private/Files/View.php line 1349
    OC\Files\Cache\Watcher->update("*** sensitive parameters replaced ***")
10. /var/www/nextcloud/lib/private/Files/View.php line 1389
    OC\Files\View->getCacheEntry(OCA\Files_Trashb ... l}, "*** sensitive parameter replaced ***", "/Plex")
11. /var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php line 331
    OC\Files\View->getFileInfo("/jbdubbs/files/Plex", false)
12. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 805
    OCA\DAV\Connector\Sabre\Directory->getQuotaInfo()
13. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/PropFind.php line 96
    Sabre\DAV\CorePlugin->Sabre\DAV\{closure}("*** sensitive parameters replaced ***")
14. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 809
    Sabre\DAV\PropFind->handle("{DAV:}quota-available-bytes", Closure {})
15. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
    Sabre\DAV\CorePlugin->propFind(Sabre\DAV\PropFind {}, OCA\DAV\Connector\Sabre\Directory {})
16. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 1063
    Sabre\DAV\Server->emit("propFind", [Sabre\DAV\PropF ... }])
17. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 989
    Sabre\DAV\Server->getPropertiesByNode(Sabre\DAV\PropFind {}, OCA\DAV\Connector\Sabre\Directory {})
18. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 1678
    Sabre\DAV\Server->getPropertiesIteratorForPath("files/jbdubbs", ["{DAV:}getlastm ... "], 1)
19. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 1661
    Sabre\DAV\Server->writeMultiStatus(Sabre\Xml\Writer ... ]}, Generator {}, false)
20. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 363
    Sabre\DAV\Server->generateMultiStatus(Generator {}, false)
21. /var/www/nextcloud/3rdparty/sabre/event/lib/WildcardEmitterTrait.php line 89
    Sabre\DAV\CorePlugin->httpPropFind(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
22. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 474
    Sabre\DAV\Server->emit("method:PROPFIND", [Sabre\HTTP\Requ ... }])
23. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 251
    Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Request {}, Sabre\HTTP\Response {})
24. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 319
    Sabre\DAV\Server->start()
25. /var/www/nextcloud/apps/dav/lib/Server.php line 332
    Sabre\DAV\Server->exec()
26. /var/www/nextcloud/apps/dav/appinfo/v2/remote.php line 35
    OCA\DAV\Server->exec()
27. /var/www/nextcloud/remote.php line 167
    require_once("/var/www/nextcl ... p")

PROPFIND /remote.php/dav/files/jbdubbs/
from 198.178.12.114 by jbdubbs at 2021-03-10T15:46:02+00:00

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

<?php
$CONFIG = array (
  'passwordsalt' => 'xxx',
  'secret' => 'xxx',
  'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => 'jbdubbs.ddns.net',
    2 => '192.168.86.51',
    3 => 'nextcloud.weisb.net',
    4 => 'weisb.net',
  ),
  'trusted_proxies' => 
  array (
    0 => '192.168.86.57',
    1 => 'nextcloud.weisb.net',
    2 => 'weisb.net',
  ),
  'allow_local_remote_servers' => true,
  'datadirectory' => '/mnt/nextcloud/',
  'dbtype' => 'mysql',
  'version' => '20.0.7.1',
  'overwriteprotocol' => 'https',
  'overwritewebroot' => '/',
  'overwritecondaddr' => '^192\\.168\\.86\\.57$',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'nextcloud',
  'dbpassword' => 'xxx',
  'installed' => true,
  'log_type' => 'file',
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud.log',
  'logfilemode' => 416,
  'loglevel' => 2,
  'logdateformat' => 'F d, Y H:i:s',
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'redis' => 
  array (
    'host' => '/var/run/redis/redis.sock',
    'port' => 0,
    'timeout' => 0.0,
  ),
  'filelocking.enabled' => true,
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'instanceid' => '2eb0aef663605',
  'maintenance' => false,
  'theme' => '',
  'mail_smtpmode' => 'smtp',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_sendmailmode' => 'smtp',
  'mail_smtpauth' => 1,
  'mail_from_address' => 'jason',
  'mail_domain' => 'weisb.net',
  'mail_smtphost' => 'smtp-relay.sendinblue.com',
  'mail_smtpport' => '587',
  'mail_smtpname' => 'xxx',
  'mail_smtppassword' => 'xxx',
);

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

root@nextcloud .../log/apache2# cat error.log
[Wed Mar 10 00:00:01.728914 2021] [ssl:warn] [pid 11905] AH01909: jbdubbs.ddns.net:12322:0 server certificate does NOT include an ID which matches the server name
[Wed Mar 10 00:00:01.729085 2021] [mpm_prefork:notice] [pid 11905] AH00163: Apache/2.4.38 (Debian) OpenSSL/1.1.1d configured -- resuming normal operations
[Wed Mar 10 00:00:01.729107 2021] [core:notice] [pid 11905] AH00094: Command line: '/usr/sbin/apache2'
[Wed Mar 10 10:15:06.163740 2021] [mpm_prefork:notice] [pid 11905] AH00169: caught SIGTERM, shutting down
[Wed Mar 10 10:15:06.243788 2021] [ssl:warn] [pid 15981] AH01909: jbdubbs.ddns.net:12322:0 server certificate does NOT include an ID which matches the server name
[Wed Mar 10 10:15:06.288194 2021] [ssl:warn] [pid 15982] AH01909: jbdubbs.ddns.net:12322:0 server certificate does NOT include an ID which matches the server name
[Wed Mar 10 10:15:06.292562 2021] [mpm_prefork:notice] [pid 15982] AH00163: Apache/2.4.38 (Debian) OpenSSL/1.1.1d configured -- resuming normal operations
[Wed Mar 10 10:15:06.292598 2021] [core:notice] [pid 15982] AH00094: Command line: '/usr/sbin/apache2'

I have not reverse proxy but I get the same error message in my nextcloud.log file when I browse in external storage folders, however, I can drag an drop files without problem