Cyberduck Mountain Duck CLI

Changes between Version 10 and Version 11 of help/en/howto/mount/issues/fastcgi


Ignore:
Timestamp:
Jan 24, 2018 1:52:53 PM (17 months ago)
Author:
dkocher
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • help/en/howto/mount/issues/fastcgi

    v10 v11  
    1919In step 3 [https://mountainduck.io Mountain Duck] opens a connection to the remote server, sends a `PUT` request with the http header `Transfer-Encoding: chunked` and streams through all subsequent write callbacks. Finally in step 6 the connection is closed.
    2020
     21==== Related bug reports ====
    2122Since the expected length is missing in the header the streaming characteristic of such requests makes them more difficult to be handled in the components being passed. From our research the issue only exists in environments that use FastCGI to speak to their PHP application. See related bug reports
    2223 * [https://bugs.php.net/bug.php?id=60826 PHP Bug #60826 Raw POST data missing with chunked encoding, FastCGI]
    2324 * [https://bz.apache.org/bugzilla/show_bug.cgi?id=53332 Apache HTTPD Bug 53332 - Requests with chunked encoding have no body available to FCGI backend].
    2425
    25 The nginx developers try to work around this issue by simply buffering the entire incoming stream and forward it through the FastCGI interface as a request with a well-known length. Nginx does request buffering by [http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_request_buffering default]. There are several [http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html options] to adjust the buffering behaviour.
     26=== Recommended configuration ===
     27==== Nginx ====
     28The nginx developers try to work around this issue by simply buffering the entire incoming stream and forward it through the FastCGI interface as a request with a well-known length. Make sure request buffering setting `fastcgi_request_buffering` is enabled (Nginx does request buffering by [http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_request_buffering default]). There are several [http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html options] to adjust the buffering behaviour.
    2629
    27 Regarding Apache HTTP Server we are not aware of any buffering strategies in [https://httpd.apache.org/mod_fcgid mod_fcgid] or [https://wiki.apache.org/httpd/PHP-FPM mod_proxy_fcgi / php-fpm] and thus you should avoid using FastCGI. It's recommended to use `mod_php` which is known to handle chunked transfers correctly.
    28 
    29 === Clients using chunked transfer encoding ===
    30 
    31 * Mountain Duck
    32 * MacOS Finder
    33 * ...
     30==== Apache ====
     31We are not aware of mitigations for Apache HTTP Server such as disabling any buffering strategies in [https://httpd.apache.org/mod_fcgid mod_fcgid] or [https://wiki.apache.org/httpd/PHP-FPM mod_proxy_fcgi / php-fpm]. Thus you should avoid using FastCGIand instead use  use `mod_php` which is known to handle chunked transfers correctly.
    3432
    3533=== Resources ===
swiss made software