From: Jacob Champion Date: Tue, 27 Sep 2016 16:59:21 +0000 (+0000) Subject: mod_proxy: log diagnostics during ProxyPass[Match] X-Git-Tag: 2.5.0-alpha~1128 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a9cf5db1690990a1a88e1fa622664ca468e58903;p=apache mod_proxy: log diagnostics during ProxyPass[Match] To help out users when debugging ProxyPass and ProxyPassMatch, log all match attempts (at trace2), as well as matches that are either successful or explicitly disabled (at trace1). git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1762517 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/log-message-tags/next-number b/docs/log-message-tags/next-number index e227d71b60..3b421f0f18 100644 --- a/docs/log-message-tags/next-number +++ b/docs/log-message-tags/next-number @@ -1 +1 @@ -3461 +3465 diff --git a/modules/proxy/mod_proxy.c b/modules/proxy/mod_proxy.c index 166af2795a..ceb2c39739 100644 --- a/modules/proxy/mod_proxy.c +++ b/modules/proxy/mod_proxy.c @@ -666,9 +666,18 @@ PROXY_DECLARE(int) ap_proxy_trans_match(request_rec *r, struct proxy_alias *ent, fake = ent->fake; real = ent->real; } + + ap_log_rerror(APLOG_MARK, APLOG_TRACE2, 0, r, APLOGNO(03461) + "attempting to match URI path '%s' against %s '%s' for " + "proxying", r->uri, (ent->regex ? "pattern" : "prefix"), + fake); + if (ent->regex) { if (!ap_regexec(ent->regex, r->uri, AP_MAX_REG_MATCH, regm, 0)) { if ((real[0] == '!') && (real[1] == '\0')) { + ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r, APLOGNO(03462) + "proxying is explicitly disabled for URI path " + "'%s'; declining", r->uri); return DECLINED; } /* test that we haven't reduced the URI */ @@ -712,6 +721,9 @@ PROXY_DECLARE(int) ap_proxy_trans_match(request_rec *r, struct proxy_alias *ent, if (len != 0) { if ((real[0] == '!') && (real[1] == '\0')) { + ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r, APLOGNO(03463) + "proxying is explicitly disabled for URI path " + "'%s'; declining", r->uri); return DECLINED; } if (nocanon && len != alias_match(r->unparsed_uri, ent->fake)) { @@ -740,6 +752,11 @@ PROXY_DECLARE(int) ap_proxy_trans_match(request_rec *r, struct proxy_alias *ent, if (ent->flags & PROXYPASS_NOQUERY) { apr_table_setn(r->notes, "proxy-noquery", "1"); } + + ap_log_rerror(APLOG_MARK, APLOG_TRACE1, 0, r, APLOGNO(03464) + "URI path '%s' matches proxy handler '%s'", r->uri, + found); + return OK; }