httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sorin Manolache <sor...@gmail.com>
Subject Re: forward request with proxy_http in custom module
Date Fri, 17 Aug 2012 14:42:53 GMT
On 2012-08-17 16:25, nik600 wrote:
> Dear all
>
> i'm trying to code a custom module that will implement some logic this
> is the concept of the module:
>
> *********************************
>
> /*
> * some stuff...
> */
> if(condition){
>
> /*return a custom result*/
>
> return OK;
>
> }else{
> /*forward the request to another server*/
>
> 	    r->filename = "proxy:http://www.google.it/";
> 	    r->proxyreq = PROXYREQ_PROXY;
> 	    r->handler  = "proxy-server";	
>
> return OK;
> }
> *********************************
>
> But it seems that when i go into the else condition the proxy request
> isn't handled.
>
> proxy and proxy_http are enabled and correctly working.
>
> Is this code correct to forward a request and make my module working
> as a proxy_http ?


Try

if (condition) {
  ...
  return OK;
} else {
  return DECLINED;
}

and make sure your handler runs before mod_proxy's:

static const char *succ[] = {"mod_proxy.c", NULL};
ap_hook_handler(&your_handler, NULL, succ, APR_HOOK_MIDDLE);

Then put a ProxyPass in your conf:

<Location /your_url>
    ProxyPass http://www.google.it/ keepalive=On
</Location>

Also make sure you do not check on r->handler. Even if you set 
"SetHandler your_handler", ProxyPass will overwrite it with "proxy-server".


Sorin

>
> Thanks in advance
>


Mime
View raw message