diff --git a/modules/proxy/mod_proxy_ajp.c b/modules/proxy/mod_proxy_ajp.c index b17d7ae39a..12cb6fc605 100644 --- a/modules/proxy/mod_proxy_ajp.c +++ b/modules/proxy/mod_proxy_ajp.c @@ -509,16 +509,18 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, if (bb_len != -1) conn->worker->s->read += bb_len; } - if (ap_pass_brigade(r->output_filters, - output_brigade) != APR_SUCCESS) { - ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, - "proxy: error processing body.%s", - r->connection->aborted ? - " Client aborted connection." : ""); - output_failed = 1; + if (headers_sent) { + if (ap_pass_brigade(r->output_filters, + output_brigade) != APR_SUCCESS) { + ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, + "proxy: error processing body.%s", + r->connection->aborted ? + " Client aborted connection." : ""); + output_failed = 1; + } + data_sent = 1; + apr_brigade_cleanup(output_brigade); } - data_sent = 1; - apr_brigade_cleanup(output_brigade); } } else {