Apache 2.4.7 - How to parse the host and port and send the request to that host and port

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm using Apache 2.4.7
I'm currently running and old Apache with customized software and need to change to using a newer Apache.

How do I parse out the server from the request and send the request to the process running on that server (and fixed port)?

Any help is greatly appreciated.
Jim Pennington

A request can come into an Apache running on one server and the request needs to be sent a process running on a different server.
We are using fixed ports and the port in the examples is 1234.

The process that should get the request is derived from the sessionid.
I need to parse out the server and send the request to the process running on that server.

Messages come in with GET or POST and /WebZ/...
Somewhere in the message is sessionid=<server>-<1234>-<...>-<...>

Some requests might have multiple '?' characters.
Some requests might not have any '?' characters.

Here are some example requests.
GET /WebZ/MEdit?sessionid=server09.prod-1234-kgv44z4b-pl2l93:editsessionid=2:catpage=html/corc/catalogue.html:entitymytemplateName=marc?sessionid=server09.prod-1234-kgv44z4b-pl2l93 HTTP/1.1

GET /WebZ/html/corc/helpredirect.html:sessionid=server02.prod-1234-kgvvyfoc-c7bsf2?/WebZ/html/corc/helpredirect.html:sessionid=server02.prod-1234-kgvvyfoc-c7bsf2?http%3A//www.oclc.org/bibformats/en/fixedfield/dtst.html HTTP/1.1

GET /WebZ/html/catexpress/CatExpressBasicSearch.html:sessionid=server09-1234-kgufwyh9-k6bak2:dbname=WorldCat HTTP/1.1

In my httpd.conf file, I have tried several combinations of RewriteCond, RewriteRule and ProxyPassMatch.
The sessionid is typically after the '?' and ProxyPassMatch doesn't find it.

The regular expression below will parse out the server and put it into group $4
/(WebZ)/(.*)(.*?sessionid=([^-]+)-1234)(.*)$


For:
/WebZ/MEdit?sessionid=server09.prod-1234-kgv44z4b-pl2l93:editsessionid=2:catpage=html/corc/catalogue.html:entitymytemplateName=marc?sessionid=server09.prod-1234-kgv44z4b-pl2l93 HTTP/1.1
We would get:
Group 1.	5-9	WebZ
Group 2.	10-136	MEdit?sessionid=server09.prod-1234-kgv44z4b-pl2l93:editsessionid=2:catpage=html/corc/catalogue.html:...
Group 3.	136-164	sessionid=server09.prod-1234
Group 4.	146-159	server09.prod
Group 5.	164-189	-kgv44z4b-pl2l93 HTTP/1.1







---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx





[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux