AH01075: Error scheduling request to
[proxy_fcgi:error] [pid 10550:tid 139819984324352] [client 108.162.215.94:42834] AH01067: Failed to read FastCGI header
[proxy_fcgi:error] [pid 10550:tid 139819984324352] (104)Connection reset by peer: [client 108.162.215.94:42834] AH01075: Error dispatching request to :
[proxy_fcgi:error] [pid 10761:tid 139819883611904] [client 108.162.215.110:43318] AH01067: Failed to read FastCGI header
[proxy_fcgi:error] [pid 10761:tid 139819883611904] (104)Connection reset by peer: [client 108.162.215.110:43318] AH01075: Error dispatching request to :
[proxy_fcgi:error] [pid 20213:tid 139819975931648] [client 172.69.35.77:20770] AH01067: Failed to read FastCGI header
[proxy_fcgi:error] [pid 20213:tid 139819975931648] (104)Connection reset by peer: [client 172.69.35.77:20770] AH01075: Error dispatching request to :
[proxy_fcgi:error] [pid 10550:tid 139819875219200] [client 172.69.35.77:20664] AH01067: Failed to read FastCGI header
[proxy_fcgi:error] [pid 10550:tid 139819875219200] (104)Connection reset by peer: [client 172.69.35.77:20664] AH01075: Error dispatching request to :
I ran into the same problem, originally Apache had a module for handling timeouts called mod_reqTIMEOUT
The default value (which you won’t see in the default HTTp.conf) is:
RequestReadTimeout handshake=0 header=20-40,MinRate=500 body=20,MinRate=500
In my case, I uploaded the file through a pure HTML form submission, so the file is technically part of the title, and the default configuration to display the title will time out between 20 and 40 seconds. 20-40 is cool because it will time out after 20 seconds, but if it sends 500 bytes in a second, it will increase the wait time by another second until it reaches 40 seconds, and then timeout anyway.
I uploaded a larger file on the site, so I added the following line to the httpd.conf file:
RequestReadTimeout handshake=0 header=20-600,MinRate=500 body=20,MinRate=500
Therefore, as long as my user is sending data at a rate of at least 500 bytes/second, the request will not time out until the maximum is reached. Reach 600 seconds (better read the documentation, don’t quote me on throughput)
It’s actually a very cool Apache module, but it’s not super well known, because people suggest changing other Apache timeouts in other, similar, “Specified timeout expired:” Settings. The problem is related to PHP-FPM, but any post that costs more than 40 will have this problem in the number of seconds it is committed by default in Apache.
---------------------------------------------------------------------------------------------------
Your PHP code seems to have a longer timeout than configured. When Apache USES fCGI to load a PHP page, it sends the request to the PHP-FPM service for processing. If PHP-FPM takes a long time to respond, you will see this type of timeout. The possible reason is that your PHP code may be stuck in a loop or waiting for a response from a database that takes an extremely long time.
To troubleshoot, I’ll use the PHP version of the CLI to see if the script is finished in a reasonable amount of time ($time PHP /path/to/file.php). The PHp-fPM log may contain additional information (default: /var/log/php-fpm.log).
————————————————————————————————————————————————–
I have encountered the same problem, and as far as I am concerned, this solution works:
Add request_terminate_timeout
I /etc/php-fpm.d/www.conf
file.
Note: This option overrides the PHP max_execution_time INI option and setting a low value for it can cause you a lot of trouble, as it overrides other options and forces the request to terminate when the timeout expires. (If you ask which value to set; It should be based on the maximum script processing time you need, but typically 600s (10 minutes) or 10m (10 minutes) is much more.
—————————————————————————————————————————————————–
----- Apache 2.4.10 Ubuntu 14.04 PHP5-FPM: 5.5.9 ----- <IfModule mod_proxy.c> ProxyTimeout 900 <Proxy fcgi://127.0.0.1:9000> ProxySet connectiontimeout=5 timeout=900 retry=3 </Proxy> </IfModule> -- <VirtualHost *:443> ... ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/test/$1 DirectoryIndex /index.php </Virtualhost>
Read More:
- docker apache php-fpm AH01071: Got error ‘Primary script unknown\n’
- AH00557: httpd: apr_sockaddr_info_get() failed for CentOS6.5.0
- IIS “Bad Request – Request Too Long. HTTP Error 400. The size of the request headers is too long.”
- Flask Request an extension before_request after_request errorhandler
- request:fail url not in domain list or Cannot send network request to localhost
- AH01909: localhost:443:0 server certificate does NOT include an ID which matches the server name
- Apache startup error ah00534: httpd: configuration error: more than one MPM loaded
- Error domain = nsurlerrordomain code = – 1001 “request timeout occurred in swift alamofire get request. ” UserInfo={NSUnderlyingErro
- Bad Request – Request Too Long. HTTP Error 400. The size of the request headers is too long
- [nodejs] error request aborted after request routing in post mode
- Nginx modifies the front end request size limit (413 request entity too large)
- Springboot project: error parsing HTTP request header note: further occurrences of HTTP request parsing
- WebView loadrequest request request error “nsurlconnection finished with error – Code – 1022”
- Four ways to get Django parameters in request
- In the HTML page request Ajax times 400 error, solve Yii submit post form 400 error, and Ajax post request 400 problem (example code)
- svn RA layer request failed unable to connect to a repository
- Docker Nacos deployment uses container name to access 400 bad request
- Python flash project to obtain the request user IP address addr
- Elasticsearch cluster cannot be started. The following prompt fails to send join request to master appears
- Solution to Error 400. The request has an invalid header name