Same server, same credentials, all uploads fail from Android app

Nextcloud version (eg, 12.0.2): 17.0.2
Operating system and version (eg, Ubuntu 17.04): Ubuntu 18.04.2
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4.29 (behind reverse proxy of Apache 2.4.6 on Centos 7.7.1908)
PHP version (eg, 7.1): 7.2.19

The issue you are facing:

I have the official Android app on a Galaxy S10+ running Android 10. When I used the app on a Galaxy S8+ with Android 9, uploading files (including via autoupload) went smoothly. Now, however, I can’t seem to upload anything to the exact same Nextcloud server using the exact same credentials on the new phone.

I can log in and browse files. Sometimes, I can download successfully, other times I can’t. What I can’t ever do, however, is upload anything. The upload progress proceeds normally, reaches 100%, and then throws the error “Upload failed: Could not complete operation. Server unavailable.”

The part that seems extra strange to me is that I can’t seem to find a single log entry on the server that can point me in the right direction. I don’t know if I’m just looking in the wrong place or if the error is local to the app (where I can’t find any more information than just that one error). I’m happy to provide log entries, but I don’t even see anything from the correct month, let alone related to my issue.

Also, the same server and same credentials work perfectly from the Windows application as well. I have used this same setup successfully for several years, spanning 4 or 5 major versions of Nextcloud. This is the first hiccup of any kind, actually.

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

Steps to replicate it:

  1. Install Nextcloud app on Android 10 on Galaxy S10+
  2. Log into self-hosted Nextcloud server
  3. Attempt to upload file

The output of your Nextcloud log in Admin > Logging:

PASTE HERE

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

<?php
$CONFIG = array (
  'instanceid' => 'oc21oefm1jkv',
  'passwordsalt' => 'salt',
  'secret' => 'secret',
  'trusted_domains' =>
  array (
    0 => 'host.example.com',
    1 => 'www.example.com',
    2 => 'nextcloud.example.com',
  ),
  'datadirectory' => '/data/storage/cloud',
  'overwrite.cli.url' => 'http://domain.com/nextcloud',
  'dbtype' => 'mysql',
  'version' => '17.0.2.1',
  'dbname' => 'nextcloud',
  'dbhost' => '************',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'nextcloud',
  'dbpassword' => '**********',
  'installed' => true,
  'ldapIgnoreNamingRules' => false,
  'ldapProviderFactory' => '\\OCA\\User_LDAP\\LDAPProviderFactory',
  'mail_from_address' => 'system-no-reply',
  'mail_smtpmode' => 'smtp',
  'mail_smtpauthtype' => 'LOGIN',
  'mail_domain' => 'example.com',
  'maintenance' => false,
  'loglevel' => 2,
  'log_type' => 'file',
  'logfile' => '/var/log/nextcloud.log',
  'logfilemode' => 0644,
  'logdateformat' => 'F d, Y H:i:s',
  'updater.secret' => '**************',
  'theme' => '',
  'mail_smtpauth' => 1,
  'mail_smtpsecure' => 'ssl',
  'mail_smtphost' => 'smtp.gmail.com',
  'mail_smtpport' => '587',
  'mail_smtpname' => '*******************',
  'mail_smtppassword' => '*********',
  'updater.release.channel' => 'stable',
);

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

Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
  Options +FollowSymlinks
  AllowOverride All

 <IfModule mod_dav.c>
  Dav off
 </IfModule>

 SetEnv HOME /var/www/nextcloud
 SetEnv HTTP_HOME /var/www/nextcloud

</Directory>