I have written a IPP server in PHP running under Apache. With the standard IPP clients it works just fine. But when I try to print from an iOS device the connections breaks when the client tries to switch to TLS. This seems to be covered by RFC 2817 (Upgrading to TLS Within HTTP/1.1) and should be supported by Apache for years. What is wrong with my Apache config?
Apache SSL configuration:
SSLEngine optional SSLCertificateFile /path/to/server.crt SSLCertificateKeyFile /path/to/server.key
OPTIONS * HTTP/1.1 Connection: Upgrade Host: iserv.local Upgrade: TLS/1.0,SSL/2.0,SSL/3.0 User-Agent: CUPS/1.5.0
HTTP/1.1 200 OK Server: Apache/2.2.16 Content-Length: 0 Content-Type: text/plain
HTTP/1.1 101 Switching Protocol Server: CUPS/1.4 Connection: Keep-Alive Keep-Alive: timeout=30 Connection: Upgrade Upgrade: TLS/1.0,HTTP/1.1 Content-Length: 0