Does this code from 2.1 in apr_proxy_http_request still make sense? Do we not want to attempt to maintain the server connection anyway? Maybe I'm missing some other logic...
/* strip connection listed hop-by-hop headers from the request */ /* even though in theory a connection: close coming from the client * should not affect the connection to the server, it's unlikely * that subsequent client requests will hit this thread/process, * so we cancel server keepalive if the client does. */ if (ap_proxy_liststr(apr_table_get(r->headers_in, "Connection"), "close")) { p_conn->close++; /* XXX: we are abusing r->headers_in rather than a copy, * give the core output handler a clue the client would * rather just close. */ c->keepalive = AP_CONN_CLOSE; }