-
-
Notifications
You must be signed in to change notification settings - Fork 4.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Buffer chunked requests #43047
Buffer chunked requests #43047
Conversation
I guess I can remove this from aio then again? :) |
3e8cd1d
to
be94125
Compare
/backport to stable28 |
/backport to stable27 |
/backport to stable26 |
I guess yes. :) The current PR is also narrower, so only changes the behavior for problematic requests. |
|
I like the targeted approach! 👍 How does mod_php avoid this? Does it just buffer every transaction? If I'm understanding this correctly:
Related issues: If we proceed with this:
|
From what I understand, as it is closer to Apache, the communication is better, and mod_php is able to give the file content to Nextcloud. But I am not an expert at all, feel free to correct me :).
And FastCGI, no ?
It does, but as you said, this only targets specific requests, which are currently failing, so better than nothing I guess.
Is it possible to add a condition to exclude mod_php ?
Indeed, the issue also occurs with Nginx.
Better to keep it, no? |
Signed-off-by: Louis Chemineau <[email protected]>
be94125
to
3c0c373
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🐘 First time I hear about those things
The PR doesn't fix the issue for me on 28.0.3RC1. Do I also need to tweak my NGINX Nextcloud config to make it work? |
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:
Tested for a few weeks by a customer without any issue.