Right now, it appears that the backend https client is not correctly initialized. Code inspection, based on my mod_ftp experience, is that we aren't handshaking before sending our request. It's necessary for the HTTPS client to do a 'pull' before pushing out the response to handshake SSL/TLS, IIUC.
If it works at all, it's news to me :) The attached patch should be correct to sync this up to mod_ftp and my proposed mod_echo behavior. Comments?
Index: modules/proxy/mod_proxy_http.c =================================================================== --- modules/proxy/mod_proxy_http.c (revision 387406) +++ modules/proxy/mod_proxy_http.c (working copy) @@ -1702,6 +1702,20 @@ if ((status = ap_proxy_connection_create(proxy_function, backend, c, r->server)) != OK) goto cleanup; + + if (backend->is_ssl) { + apr_bucket_brigade *bb; + bb = apr_brigade_create(c->pool, c->bucket_alloc); + status = ap_get_brigade(c->input_filters, bb, AP_MODE_INIT, + APR_BLOCK_READ, 0); + apr_brigade_destroy(bb); + + if (status != APR_SUCCESS) { + ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server, + "Failed to initialize the proxy ssl data stream"); + goto cleanup; + } + } } /* Step Four: Send the Request */