[Updated 2013-07-28: Corrected „https“ to „http“ in Listen]
After a recent Apache update, Apache 2.2.22 (on Ubuntu 12.04 LTS „precise“) the following message appeared in the Apache error log:
[error] Server should be SSL-aware but has no certificate configured [Hint: SSLCertificateFile] ((null):0)
Of course, I checked the obvious, but the certificate was configured, readable etc. Even more interesting, the previous line in the log read:
[info] Loading certificate & private key of SSL-aware server
So it seemed, that even Apache did not really believe the SSLCertificateFile was missing.
It turned out, that /etc/apache2/ports.conf had to be changed from:
Listen 443 http
(see also the Apache 2.2 documentation for „Listen“).
It is unclear, why this was necessary (and why it broke on that upgrade), but it may be related to my Apache also listening to non-standard ports (8800, 8880, 8843, 8443 and others), which were used by previous iOS autoconfiguration methods, but now are no longer needed.
[Update 2013-07-28] Please note that also other forums recommend to change the line to „Listen 443 http“ (as opposed to „https“); even though this looks wrong, it is the only way which works. I would be very glad if someone could explain this weird behavior.
will not change the ports options, so be careful when testing :-(. [/Update]