Client access not working, nextcloud 17 with Nginx reverse proxy and apache2

Hello everyone !

I can’t get nextcloud client to work (android and desktop client on linux). I’m running Nextcloud 17 with apache2 behind a reverse proxy. i check the log and i get this error :

[webdav] Fatal: Sabre\DAV\Exception\BadRequest: Expected filesize of 5262585 bytes but read (from Nextcloud client) and wrote (to Nextcloud storage) 528881 bytes. Could either be a network problem on the sending side or a problem writing to the storage on the server side. at <<closure>>

0. /var/www/nextcloud/apps/dav/lib/Connector/Sabre/Directory.php line 156
   OCA\DAV\Connector\Sabre\File->put(null)
1. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 1096
   OCA\DAV\Connector\Sabre\Directory->createFile("IMG_20191005_123622.jpg", null)
2. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/CorePlugin.php line 525
   Sabre\DAV\Server->createFile("InstantUpload/C ... g", null, null)
3. <<closure>>
   Sabre\DAV\CorePlugin->httpPut(Sabre\HTTP\Reque ... "}, Sabre\HTTP\Response {})
4. /var/www/nextcloud/3rdparty/sabre/event/lib/EventEmitterTrait.php line 105
   undefinedundefinedcall_user_func_array([Sabre\DAV\CorePlugin {},"httpPut"], [Sabre\HTTP\Requ ... }])
5. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 479
   Sabre\Event\EventEmitter->emit("method:PUT", [Sabre\HTTP\Requ ... }])
6. /var/www/nextcloud/3rdparty/sabre/dav/lib/DAV/Server.php line 254
   Sabre\DAV\Server->invokeMethod(Sabre\HTTP\Reque ... "}, Sabre\HTTP\Response {})
7. /var/www/nextcloud/apps/dav/appinfo/v1/webdav.php line 80
   Sabre\DAV\Server->exec()
8. /var/www/nextcloud/remote.php line 163
   undefinedundefinedrequire_once("/var/www/nextcl ... p")

PUT /remote.php/webdav/InstantUpload/Camera/IMG_20191005_123622.jpg
from xx.xx.XX.xx by user at 2019-11-28T15:09:10+00:00 

My relevant files :

Apache2 vhost

<VirtualHost *:80>
  DocumentRoot /var/www/nextcloud/
  ServerName  cloud.domain.tld

  <Directory /var/www/nextcloud/>
    Require all granted
    Options FollowSymlinks MultiViews
    AllowOverride All

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

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

  </Directory>
</VirtualHost>

<?php
$CONFIG = array (
  'passwordsalt' => 'xxxxxxxxxxxx',
  'secret' => 'xxxxxxxxxxxxx',
  'trusted_domains' => 
  array (
    0 => 'localhost',
    1 => '192.168.0.xx',
    2 => 'cloud.domain.tld',
  ),

  'memcache.local' => '\OC\Memcache\Redis',
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'redis' => array(
  'host' => 'localhost',
  'port' => 6379,
  ),
  'overwriteprotocol' => 'https',
  'overwritehost' => 'cloud.domain.tld',
  'overwrite.cli.url' => 'https://cloud.domain.tld',
  'overwritecondaddr' => '^192\.168\.0\.xx$',
  'overwritewebroot' => '',

  'datadirectory' => '/mnt/data',
  'dbtype' => 'mysql',
  'version' => '17.0.1.1',
  'trusted_proxies' => 
  array (
    0 => '192.168.0.xx',
  ),
  'dbname' => 'nextcloud',
  'dbhost' => '192.168.0.xx:3306',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'xxxxxxxxxxxxx',
  'dbpassword' => 'xxxxxxxxxxxxx',
  'instanceid' => 'xxxxxxxxxxxxx',
  'installed' => true,
  'maintenance' => false,
);

nginx conf :

server {
	server_name cloud.domain.tld;

	location / {
		proxy_pass http://192.168.0.xx;
		proxy_set_header X-Forwarded-Host $host;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_buffering off;
		
            	proxy_set_header        Upgrade            $http_upgrade;
            	proxy_set_header        Connection         "Upgrade";
            	proxy_set_header        Authorization      "";
            	proxy_read_timeout      86400;
		client_max_body_size 5G;

		add_header Strict-Transport-Security "max-age=31536000;	includeSubDomains; preload";
		proxy_redirect  http://  $scheme://;

        	access_log /var/log/nginx/nextcloud.access.log;
	        error_log /var/log/nginx/nextcloud.error.log;

	}

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/cloud.cqlb.me-0001/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/cloud.cqlb.me-0001/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = cloud.cqlb.me) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

	server_name cloud.domain.tld;
    listen 80;
    return 404; # managed by Certbot
}