From: Rainer Jung Date: Mon, 16 May 2022 12:39:54 +0000 (+0000) Subject: mod_proxy: Add backend port to log messages to X-Git-Tag: 2.4.54-rc1-candidate~72 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a0658487530c7e49d21047d733e55bed022ab3d6;p=thirdparty%2Fapache%2Fhttpd.git mod_proxy: Add backend port to log messages to ease identification of involved service. Merge r1900028 from trunk. Submitted by: rjung Reviewed by: rjung, jim, rpluem git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1900957 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/changes-entries/mod_proxy_log_backend_port.txt b/changes-entries/mod_proxy_log_backend_port.txt new file mode 100644 index 00000000000..0a96679e23b --- /dev/null +++ b/changes-entries/mod_proxy_log_backend_port.txt @@ -0,0 +1,2 @@ + *) mod_proxy: Add backend port to log messages to + ease identification of involved service. diff --git a/modules/proxy/mod_proxy_ajp.c b/modules/proxy/mod_proxy_ajp.c index e2992fcb49c..c15d046340e 100644 --- a/modules/proxy/mod_proxy_ajp.c +++ b/modules/proxy/mod_proxy_ajp.c @@ -212,9 +212,10 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, if (status != APR_SUCCESS) { conn->close = 1; ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00868) - "request failed to %pI (%s)", + "request failed to %pI (%s:%d)", conn->worker->cp->addr, - conn->worker->s->hostname_ex); + conn->worker->s->hostname_ex, + (int)conn->worker->s->port); if (status == AJP_EOVERFLOW) return HTTP_BAD_REQUEST; else if (status == AJP_EBAD_METHOD) { @@ -300,9 +301,10 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, conn->close = 1; apr_brigade_destroy(input_brigade); ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00876) - "send failed to %pI (%s)", + "send failed to %pI (%s:%d)", conn->worker->cp->addr, - conn->worker->s->hostname_ex); + conn->worker->s->hostname_ex, + (int)conn->worker->s->port); /* * It is fatal when we failed to send a (part) of the request * body. @@ -341,9 +343,10 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, conn->close = 1; apr_brigade_destroy(input_brigade); ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00878) - "read response failed from %pI (%s)", + "read response failed from %pI (%s:%d)", conn->worker->cp->addr, - conn->worker->s->hostname_ex); + conn->worker->s->hostname_ex, + (int)conn->worker->s->port); /* If we had a successful cping/cpong and then a timeout * we assume it is a request that cause a back-end timeout, @@ -639,9 +642,10 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, } else { ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(00892) - "got response from %pI (%s)", + "got response from %pI (%s:%d)", conn->worker->cp->addr, - conn->worker->s->hostname_ex); + conn->worker->s->hostname_ex, + (int)conn->worker->s->port); if (ap_proxy_should_override(conf, r->status)) { /* clear r->status for override error, otherwise ErrorDocument @@ -663,9 +667,10 @@ static int ap_proxy_ajp_request(apr_pool_t *p, request_rec *r, if (backend_failed) { ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00893) - "dialog to %pI (%s) failed", + "dialog to %pI (%s:%d) failed", conn->worker->cp->addr, - conn->worker->s->hostname_ex); + conn->worker->s->hostname_ex, + (int)conn->worker->s->port); /* * If we already send data, signal a broken backend connection * upwards in the chain. @@ -810,8 +815,9 @@ static int proxy_ajp_handler(request_rec *r, proxy_worker *worker, if (status != APR_SUCCESS) { backend->close = 1; ap_log_rerror(APLOG_MARK, APLOG_ERR, status, r, APLOGNO(00897) - "cping/cpong failed to %pI (%s)", - worker->cp->addr, worker->s->hostname_ex); + "cping/cpong failed to %pI (%s:%d)", + worker->cp->addr, worker->s->hostname_ex, + (int)worker->s->port); status = HTTP_SERVICE_UNAVAILABLE; retry++; continue; diff --git a/modules/proxy/mod_proxy_balancer.c b/modules/proxy/mod_proxy_balancer.c index 3304c93f711..f6fb6345ae3 100644 --- a/modules/proxy/mod_proxy_balancer.c +++ b/modules/proxy/mod_proxy_balancer.c @@ -455,8 +455,9 @@ static void force_recovery(proxy_balancer *balancer, server_rec *s) ++(*worker)->s->retries; (*worker)->s->status &= ~PROXY_WORKER_IN_ERROR; ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(01165) - "%s: Forcing recovery for worker (%s)", - balancer->s->name, (*worker)->s->hostname_ex); + "%s: Forcing recovery for worker (%s:%d)", + balancer->s->name, (*worker)->s->hostname_ex, + (int)(*worker)->s->port); } } } diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c index 971e21d543c..10b555c74a8 100644 --- a/modules/proxy/mod_proxy_http.c +++ b/modules/proxy/mod_proxy_http.c @@ -2047,8 +2047,9 @@ static int proxy_http_handler(request_rec *r, proxy_worker *worker, if (status != OK) { if (req->do_100_continue && status == HTTP_SERVICE_UNAVAILABLE) { ap_log_rerror(APLOG_MARK, APLOG_INFO, status, r, APLOGNO(01115) - "HTTP: 100-Continue failed to %pI (%s)", - worker->cp->addr, worker->s->hostname_ex); + "HTTP: 100-Continue failed to %pI (%s:%d)", + worker->cp->addr, worker->s->hostname_ex, + (int)worker->s->port); backend->close = 1; retry++; continue; diff --git a/modules/proxy/proxy_util.c b/modules/proxy/proxy_util.c index 33a0824e75a..71299f1fd42 100644 --- a/modules/proxy/proxy_util.c +++ b/modules/proxy/proxy_util.c @@ -2212,9 +2212,9 @@ PROXY_DECLARE(apr_status_t) ap_proxy_initialize_worker(proxy_worker *worker, ser worker, worker->cp->pool); ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(00930) - "initialized pool in child %" APR_PID_T_FMT " for (%s) min=%d max=%d smax=%d", - getpid(), worker->s->hostname_ex, worker->s->min, - worker->s->hmax, worker->s->smax); + "initialized pool in child %" APR_PID_T_FMT " for (%s:%d) min=%d max=%d smax=%d", + getpid(), worker->s->hostname_ex, (int)worker->s->port, + worker->s->min, worker->s->hmax, worker->s->smax); /* Set the acquire timeout */ if (rv == APR_SUCCESS && worker->s->acquire_set) { @@ -2229,8 +2229,9 @@ PROXY_DECLARE(apr_status_t) ap_proxy_initialize_worker(proxy_worker *worker, ser worker->cp->conn = conn; ap_log_error(APLOG_MARK, APLOG_DEBUG, rv, s, APLOGNO(00931) - "initialized single connection worker in child %" APR_PID_T_FMT " for (%s)", - getpid(), worker->s->hostname_ex); + "initialized single connection worker in child %" APR_PID_T_FMT " for (%s:%d)", + getpid(), worker->s->hostname_ex, + (int)worker->s->port); } if (rv == APR_SUCCESS) { worker->local_status |= (PROXY_WORKER_INITIALIZED); @@ -2251,8 +2252,9 @@ static int ap_proxy_retry_worker(const char *proxy_function, proxy_worker *worke if (worker->s->status & PROXY_WORKER_IN_ERROR) { if (PROXY_WORKER_IS(worker, PROXY_WORKER_STOPPED)) { ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(3305) - "%s: Won't retry worker (%s): stopped", - proxy_function, worker->s->hostname_ex); + "%s: Won't retry worker (%s:%d): stopped", + proxy_function, worker->s->hostname_ex, + (int)worker->s->port); return DECLINED; } if ((worker->s->status & PROXY_WORKER_IGNORE_ERRORS) @@ -2260,14 +2262,16 @@ static int ap_proxy_retry_worker(const char *proxy_function, proxy_worker *worke ++worker->s->retries; worker->s->status &= ~PROXY_WORKER_IN_ERROR; ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(00932) - "%s: worker for (%s) has been marked for retry", - proxy_function, worker->s->hostname_ex); + "%s: worker for (%s:%d) has been marked for retry", + proxy_function, worker->s->hostname_ex, + (int)worker->s->port); return OK; } else { ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(00933) - "%s: too soon to retry worker for (%s)", - proxy_function, worker->s->hostname_ex); + "%s: too soon to retry worker for (%s:%d)", + proxy_function, worker->s->hostname_ex, + (int)worker->s->port); return DECLINED; } } @@ -2502,8 +2506,9 @@ PROXY_DECLARE(int) ap_proxy_acquire_connection(const char *proxy_function, if (!PROXY_WORKER_IS_USABLE(worker)) { ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, APLOGNO(00940) - "%s: disabled connection for (%s)", - proxy_function, worker->s->hostname_ex); + "%s: disabled connection for (%s:%d)", + proxy_function, worker->s->hostname_ex, + (int)worker->s->port); return HTTP_SERVICE_UNAVAILABLE; } } @@ -2525,13 +2530,15 @@ PROXY_DECLARE(int) ap_proxy_acquire_connection(const char *proxy_function, if (rv != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, APLOGNO(00941) - "%s: failed to acquire connection for (%s)", - proxy_function, worker->s->hostname_ex); + "%s: failed to acquire connection for (%s:%d)", + proxy_function, worker->s->hostname_ex, + (int)worker->s->port); return HTTP_SERVICE_UNAVAILABLE; } ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(00942) - "%s: has acquired connection for (%s)", - proxy_function, worker->s->hostname_ex); + "%s: has acquired connection for (%s:%d)", + proxy_function, worker->s->hostname_ex, + (int)worker->s->port); (*conn)->worker = worker; (*conn)->close = 0; @@ -2545,8 +2552,9 @@ PROXY_DECLARE(int) ap_proxy_release_connection(const char *proxy_function, server_rec *s) { ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(00943) - "%s: has released connection for (%s)", - proxy_function, conn->worker->s->hostname_ex); + "%s: has released connection for (%s:%d)", + proxy_function, conn->worker->s->hostname_ex, + (int)conn->worker->s->port); connection_cleanup(conn); return OK; @@ -3156,9 +3164,10 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, loglevel = APLOG_ERR; ap_log_error(APLOG_MARK, loglevel, rv, s, APLOGNO(02453) "%s: error creating Unix domain socket for " - "target %s", + "target %s:%d", proxy_function, - worker->s->hostname_ex); + worker->s->hostname_ex, + (int)worker->s->port); break; } conn->connection = NULL; @@ -3168,19 +3177,21 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, apr_socket_close(newsock); ap_log_error(APLOG_MARK, APLOG_ERR, rv, s, APLOGNO(02454) "%s: attempt to connect to Unix domain socket " - "%s (%s) failed", + "%s (%s:%d) failed", proxy_function, conn->uds_path, - worker->s->hostname_ex); + worker->s->hostname_ex, + (int)worker->s->port); break; } ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02823) "%s: connection established with Unix domain socket " - "%s (%s)", + "%s (%s:%d)", proxy_function, conn->uds_path, - worker->s->hostname_ex); + worker->s->hostname_ex, + (int)worker->s->port); } else #endif @@ -3191,10 +3202,11 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, loglevel = backend_addr->next ? APLOG_DEBUG : APLOG_ERR; ap_log_error(APLOG_MARK, loglevel, rv, s, APLOGNO(00952) "%s: error creating fam %d socket for " - "target %s", + "target %s:%d", proxy_function, backend_addr->family, - worker->s->hostname_ex); + worker->s->hostname_ex, + (int)worker->s->port); /* * this could be an IPv6 address from the DNS but the * local machine won't give us an IPv6 socket; hopefully the @@ -3243,8 +3255,9 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, } } ap_log_error(APLOG_MARK, APLOG_TRACE2, 0, s, - "%s: fam %d socket created to connect to %s", - proxy_function, backend_addr->family, worker->s->hostname_ex); + "%s: fam %d socket created to connect to %s:%d", + proxy_function, backend_addr->family, + worker->s->hostname_ex, (int)worker->s->port); if (conf->source_address_set) { local_addr = apr_pmemdup(conn->scpool, conf->source_address, @@ -3266,19 +3279,21 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, apr_socket_close(newsock); loglevel = backend_addr->next ? APLOG_DEBUG : APLOG_ERR; ap_log_error(APLOG_MARK, loglevel, rv, s, APLOGNO(00957) - "%s: attempt to connect to %pI (%s) failed", + "%s: attempt to connect to %pI (%s:%d) failed", proxy_function, backend_addr, - worker->s->hostname_ex); + worker->s->hostname_ex, + (int)worker->s->port); backend_addr = backend_addr->next; continue; } ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s, APLOGNO(02824) - "%s: connection established with %pI (%s)", + "%s: connection established with %pI (%s:%d)", proxy_function, backend_addr, - worker->s->hostname_ex); + worker->s->hostname_ex, + (int)worker->s->port); } /* Set a timeout on the socket */ @@ -3309,10 +3324,11 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, loglevel = backend_addr->next ? APLOG_DEBUG : APLOG_ERR; ap_log_error(APLOG_MARK, loglevel, rv, s, APLOGNO(00958) "%s: attempt to connect to %s:%d " - "via http CONNECT through %pI (%s) failed", + "via http CONNECT through %pI (%s:%d) failed", proxy_function, forward->target_host, forward->target_port, - backend_addr, worker->s->hostname_ex); + backend_addr, worker->s->hostname_ex, + (int)worker->s->port); backend_addr = backend_addr->next; continue; } @@ -3332,9 +3348,10 @@ PROXY_DECLARE(int) ap_proxy_connect_backend(const char *proxy_function, worker->s->error_time = apr_time_now(); worker->s->status |= PROXY_WORKER_IN_ERROR; ap_log_error(APLOG_MARK, APLOG_ERR, 0, s, APLOGNO(00959) - "ap_proxy_connect_backend disabling worker for (%s) for %" + "ap_proxy_connect_backend disabling worker for (%s:%d) for %" APR_TIME_T_FMT "s", - worker->s->hostname_ex, apr_time_sec(worker->s->retry)); + worker->s->hostname_ex, (int)worker->s->port, + apr_time_sec(worker->s->retry)); } } else {