Browse Source

Buffer chunked requests

Signed-off-by: Louis Chemineau <louis@chmn.me>
Louis Chemineau 3 months ago
parent
commit
3c0c373083
1 changed files with 14 additions and 0 deletions
  1. 14 0
      .htaccess

+ 14 - 0
.htaccess

@@ -94,5 +94,19 @@
   RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
 </IfModule>
 
+# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
+# When FastCGI or FPM is used with apache, requests arrive to Nextcloud without any content.
+# This leads to the creation of empty files.
+# The following directive will force the problematic requests to be buffered before being forwarded to Nextcloud.
+# This way, the "Transfer-Encoding" header is removed, the "Content-Length" header is set, and the request content is proxied to Nextcloud.
+# Here are more information about the issue:
+#  - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
+#  - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
+<IfModule setenvif.c>
+  <Location "/remote.php">
+    SetEnvIf Transfer-Encoding "chunked" proxy-sendcl=1
+  </Location>
+</IfModule>
+
 AddDefaultCharset utf-8
 Options -Indexes