You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Dave O'Hair <do...@virtualiron.com> on 2005/05/09 02:03:28 UTC

[users@httpd] Possible bug in httpd-2.1.3-beta mod_proxy_balancer (URL arguments omitted)

Hello Apache users,

 

I may have found a bug in httpd-2.1.3-beta mod_proxy_balancer.  Or more
likely I just don't have it configured properly.  Here's the entries
from httpd.conf:

 

    ProxyRequests on

    ProxyVia on

    <Proxy balancer://mycluster>

        Allow from all

        BalancerMember http://10.1.8.249:7002

        BalancerMember http://10.1.8.249:7003

    </Proxy>

    ProxyPass /SPECjAppServer balancer://mycluster/SPECjAppServer

    ProxyPass /Supplier balancer://mycluster/Supplier

 

The proxy/balance thing works great until I pass this URL to Apache:

 

    http://apachehost:80/Supplier/SupplierServlet?action=reset
<http://apachehost/Supplier/SupplierServlet?action=reset> 

 

The URL that gets forwarded to the back-end server is missing the URL
arguments (the "?action=reset" part).

 

The URL passed in to proxy_balancer_pre_request() already has the URL
arguments stripped out.  I have put my own horrible hack of a solution
into rewrite_url(), this does work but it is obviously not correct:

 

static int rewrite_url(request_rec *r, proxy_worker *worker,

                        char **url)

{

    <SNIP...>    

    *url = apr_pstrcat(r->pool, worker->name, path, NULL);

    /* new stuff */

    if (r->args) {

        *url = apr_pstrcat(r->pool, *url, "?", NULL);

        *url = apr_pstrcat(r->pool, *url, r->args, NULL);

    }

}


Re: [users@httpd] Possible bug in httpd-2.1.3-beta mod_proxy_balancer (URL arguments omitted)

Posted by Joe Orton <jo...@redhat.com>.
On Sun, May 08, 2005 at 08:03:28PM -0400, Dave O'Hair wrote:
> I may have found a bug in httpd-2.1.3-beta mod_proxy_balancer.  Or more
> likely I just don't have it configured properly.  Here's the entries
> from httpd.conf:
...
> The proxy/balance thing works great until I pass this URL to Apache:
>
>     http://apachehost:80/Supplier/SupplierServlet?action=reset
> <http://apachehost/Supplier/SupplierServlet?action=reset> 
> 
> The URL that gets forwarded to the back-end server is missing the URL
> arguments (the "?action=reset" part).

Dave, can you file a bug on this in bugzilla - I'm not sure whether it
has been fixed already? http://issues.apache.org/bugzilla/

Regards,

joe

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
   "   from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org