It looks that there is missing functionality in HTTP implementation in Apache - no support for RFC2817. Although it seems that there is already some support for HTTP switching protocol - eg. definition for HTTP_SWITCHING_PROTOCOL - as this was already defined in old RFC2616 - Apache is based on that rfc. Without RFC2817 features it is impossible to setup name based virtual hosting with SSL/TLS enabled - highly required nowdays. Suggestions or am I wrong?
Not much software supports RFC2817. It is not required for the web as we know it. It certainly is not "highly required nowdays." Some of the known problems with RFC 2817 are listed here: http://jis.mit.edu/pipermail/saag/2001q4/000253.html Technically this is an "Enhancement" request, not a problem with "Major" severity. Somebody did start playing with TLS upgrade support recently but they seem to have lost interest. See the archives of dev@httpd.apache.org for October 2002.
Question, what on earth do you plan to use to access the server using the RFC2817 behavior? I ask because I'm sitting on Ryan Bloom's patch to enable the SSLEngine Upgrade directive. It's simply not been committed because we need clients to test the behavior with (although I'm likely to commit just because there is some major SSL refactoring needed that will break that otherwise very useful patch.)
A new option has been added to the next iteration (release 2.2) of Apache to support SSLEngine (On|Off|Upgrade) to support Connection: upgrade requests. This feature is (almost) entirely untested, due to lack of client support. Additional pointers to supporting browsers would be greatly appreciated.