Bug 39206 - mod_proxy_balancer does not treat trailing slash like Proxypass directive
Summary: mod_proxy_balancer does not treat trailing slash like Proxypass directive
Status: RESOLVED DUPLICATE of bug 39203
Alias: None
Product: Apache httpd-2
Classification: Unclassified
Component: mod_proxy_balancer (show other bugs)
Version: 2.2.0
Hardware: Other Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: Apache HTTPD Bugs Mailing List
URL:
Keywords: ErrorMessage
Depends on:
Blocks:
 
Reported: 2006-04-04 21:46 UTC by Che Wang
Modified: 2006-04-04 15:11 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Che Wang 2006-04-04 21:46:08 UTC
Running httpd-2.2.0-1 on CentOS 4.3 (rebuilt source rpm package).  Found a bug
with mod_proxy_balancer module where it does not treat a URL the same as
mod_proxy module would.

Using Apache as a reverse proxy with mod_proxy module passing this directive to
a single backend server works just fine:

ProxyPass /KenwoodAccess/ http://172.20.111.33:80/KenwoodAccess/

This next example is a WORKING configuration for mod_proxy_balancer. No errors
are generated in Apache and passes to the backend servers:

ProxyPass /KenwoodAccess balancer://KWA_cluster lbmethod=byrequests
stickysession=JSESSIONID nofailover=off
<Proxy balancer://KWA_cluster>
        BalancerMember http://172.20.111.33:80/KenwoodAccess smax=15 loadfactor=1
        BalancerMember http://172.20.111.34:80/KenwoodAccess smax=15 loadfactor=1
        #BalancerMember http://test.kenwoodaccess.com/noworkers.html smax=15
loadfactor=80
</Proxy>

Where the bug happens:

ProxyPass /KenwoodAccess/ balancer://KWA_cluster lbmethod=byrequests
*NOTE: The trailing slash in the first option.

This will generate an error message in Apache logs:

[Mon Apr 03 17:04:55 2006] [warn] proxy: No protocol handler was valid for the
URL /site/images/buts/forgotpassword.gif. If you are using a DSO version of
mod_proxy, make sure the proxy submodules are included in the configuration
using LoadModule.

This error message seems to be misleading when passing options using the
trailing slash.  How I am interpreting it is mod_proxy_balancer doesn't want to
call on other mod_proxy submodules properly.

Googling shows that people resolved this Apache error message by adding
'LoadModule' for the submodules of mod_proxy (ie: mod_proxy_connect,
mod_proxy_http, etc.).  This is not the case with me, since Apache shows these
submodules as loaded:

httpd -M
 proxy_module (shared)
 proxy_connect_module (shared)
 proxy_ftp_module (shared)
 proxy_http_module (shared)
 proxy_ajp_module (shared)
 proxy_balancer_module (shared)

This has been troubleshooted down to trailing slashes as the culprit for
mod_proxy_balancer and mod_proxy Proxypass directive works just fine with
trailing slashes.
Comment 1 Ruediger Pluem 2006-04-04 22:11:52 UTC

*** This bug has been marked as a duplicate of 39203 ***