Sometimes on my CentOS servers with Apache 2 + mod_ssl, Apache stops responding to requests made through HTTPS. The SSL connection and handshake is successfull (I tested it with openssl s_client), but Apache doesn't send any data to the socket after I manually send a HTTP request. At the same time, HTTP is working perfectly. For instance, even a broken request with just "GET /" instantly throws a "400 Bad Request" error over HTTP whereas I don't get any answer over SSL.

apache2ctl graceful doesn't solve the problem, but apache2ctl restart does. The number of open TCP connections to Apache is normal, CPU and memory are OK. apache2ctl fullstatus shows a lot of "reading data" lines.

Any idea ?


If anyone got the same problem : I never had problems anymore after I configured Apache to use a single accesslog and errorlog file for all vhosts, instead of two logs per vhosts. It seems that the big amount of open log files (300+) made Apache unable to handle new connections through SSL.


Did you test your SSL cert installation to make sure it is correct? This is usually the cause of the majority of the errors.

Do you have a Firewall/IPS that is blocking it?

Try http://www.sslshopper.com/ssl-checker.html and see if it passes validation.

  • The SSL handshake works perfectly. It's Apache which doesn't respond to the query. This happens sometimes and Apache needs to be restarted. – Antares Oct 30 '12 at 23:27
  • I tried to increase the max_open_files limit of the Apache process but the problem still occurs randomly :( – Antares Nov 16 '12 at 13:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.