--_32c6384b-d9ee-4ae9-9752-cda1911e339e_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
Hi All=2C I have written a mod_perl proxy server which redirects th=
e HTTP traffic to a webserver. I have pasted the snippet below. In =
the apache worker thread=2C is enable. In the httpd.conf two <LocationMatch=
> are configured http://ipaddress/path1/http://ipaddress/path2/ After start=
ing the http server if i open any URL from the browser=2C same =93TEST_VAR=
=94 is being printedfor both the URLs. If I call path1 first=2C then for bo=
th the URLs 100 is printed.If I call path2 first=2C then for both the URLs =
200 is printed.(that is its taking the first called Path=2C after httpd is =
started) #----------------------------Startup.pl --------------------------=
------------------##startup.pl use lib qw(/home/test1/libs)=3B 1=3B #------=
--------------------------- #---------------------------- httpd.conf-------=
--------------------------------------# # httpd.conf PerlRequire /home/tes=
t1/startup.pl #http://ipaddress/path1/<LocationMatch /path1/> SetEnvIf =
Request_URI "/" TEST_VAR=3D100 SetHandler perl-script PerlResponseH=
andler Module::Test</LocationMatch> #http://ipaddress/path2/<LocationMatch =
/path2/> SetEnvIf Request_URI "/" TEST_VAR=3D200 SetHandler perl-sc=
ript PerlResponseHandler Module::Test</LocationMatch> #----------------=
------------------------------------------------------------ ---# #--------=
-------------------- Test.pm ---------------------------------------------#=
# Test.pm package Module::Test=3B use strict=3B use Apache2::Const qw(:met=
hods :http :common)=3Buse Apache2::Log ()=3Buse Apache2::URI ()=3B my $par=
am =3D env_variable()=3B sub handler{ Apache2::ServerRec::warn($param)=
=3B print "Value".$param=3B return Apache2::Const::OK=3B} sub env_vari=
able{ # Configuration loading from a file during startup my $en=
dpointURL =3D $ENV{'TEST_VAR'}=3B return $endpointURL=3B} 1=3B #-----=
------------------------------------------------------------ ---------------=
But I tried with <VirtualHost> option and it is working fine as PerlOptio=
ns +Parent is present.But since the port numbers are different firefox will=
now allow simulataneous access toboth URL from same webpage. #http://ipad=
dress:8080/path1/<VirtualHost *:8080> SetEnvIf Request_URI "/" TEST_VAR=
=3D100 PerlRequire /home/test1/startup.pl PerlOptions +Parent <L=
ocationMatch /path2/> SetHandler perl-script PerlResponse=
Handler Module::Test </LocationMatch></VirtualHost> #http://ipaddress:=
8085/path2/<VirtualHost *:8085> SetEnvIf Request_URI "/" TEST_VAR=3D200 =
PerlRequire /home/test1/startup.pl PerlOptions +Parent <Location=
Match /path2/> SetHandler perl-script PerlResponseHandler=
Module::Test </LocationMatch></VirtualHost> Please help me with this=
=2C Thanks in advance.Regards=2Cuttam =
--_32c6384b-d9ee-4ae9-9752-cda1911e339e_
Content-Type: text/html; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<style><!--
..hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 10pt=3B
font-family:Tahoma
}
--></style>
</head>
<body class=3D'hmmessage'><div dir=3D'ltr'>
<div><p class=3D"MsoNormal"><p class=3D"MsoNormal"><font class=3D"Apple-sty=
le-span" face=3D"Tahoma" size=3D"2">Hi All=2C</font></p><p class=3D"MsoNorm=
al"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B &n=
bsp=3B  =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style=
-span" face=3D"Tahoma" size=3D"2"> =3B  =3B I have written a mod_pe=
rl proxy server which redirects the HTTP traffic to a webserver.</font></p>=
<p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" siz=
e=3D"2"> =3B  =3B I have pasted the snippet below.  =3B</font><=
/p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" =
size=3D"2"> =3B  =3B In the apache worker thread=2C is enable. In t=
he httpd.conf two <=3BLocationMatch>=3B are configured</font></p><p cla=
ss=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2=
"> =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span=
" face=3D"Tahoma" size=3D"2">http://ipaddress/path1/</font></p><p class=3D"=
MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">http=
://ipaddress/path2/</font></p><p class=3D"MsoNormal"><font class=3D"Apple-s=
tyle-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNor=
mal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">After star=
ting the http server if i open any URL from the browser=2C same =93TEST_VAR=
=94 is being printed</font></p><p class=3D"MsoNormal"><font class=3D"Apple-=
style-span" face=3D"Tahoma" size=3D"2">for both the URLs.</font></p><p clas=
s=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"=
> =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span"=
face=3D"Tahoma" size=3D"2">If I call path1 first=2C then for both the URLs=
100 is printed.</font></p><p class=3D"MsoNormal"><font class=3D"Apple-styl=
e-span" face=3D"Tahoma" size=3D"2">If I call path2 first=2C then for both t=
he URLs 200 is printed.</font></p><p class=3D"MsoNormal"><font class=3D"App=
le-style-span" face=3D"Tahoma" size=3D"2">(that is its taking the first cal=
led Path=2C after httpd is started)</font></p><p class=3D"MsoNormal"><font =
class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p=
class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=
=3D"2">#----------------------------Startup.pl ----------------------------=
----------------#</font></p><p class=3D"MsoNormal"><font class=3D"Apple-sty=
le-span" face=3D"Tahoma" size=3D"2">#startup.pl</font></p><p class=3D"MsoNo=
rmal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B<=
/font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"T=
ahoma" size=3D"2">use lib qw(/home/test1/libs)=3B</font></p><p class=3D"Mso=
Normal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =
=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=
=3D"Tahoma" size=3D"2">1=3B</font></p><p class=3D"MsoNormal"><font class=3D=
"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=
=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">=
#---------------------------------</font></p><p class=3D"MsoNormal"><font c=
lass=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p =
class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=
=3D"2">#---------------------------- httpd.conf----------------------------=
-----------------#</font></p><p class=3D"MsoNormal"><font class=3D"Apple-st=
yle-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNorm=
al"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</f=
ont></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tah=
oma" size=3D"2"># httpd.conf</font></p><p class=3D"MsoNormal"><font class=
=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p clas=
s=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"=
>PerlRequire /home/test1/startup.pl</font></p><p class=3D"MsoNormal"><font =
class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p=
class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=
=3D"2">#http://ipaddress/path1/</font></p><p class=3D"MsoNormal"><font clas=
s=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"><=3BLocationMatch /path=
1/>=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" =
face=3D"Tahoma" size=3D"2"> =3B  =3B  =3BSetEnvIf Request_URI "=
/" TEST_VAR=3D100</font></p><p class=3D"MsoNormal"><font class=3D"Apple-sty=
le-span" face=3D"Tahoma" size=3D"2"> =3B  =3B  =3BSetHandler pe=
rl-script</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span"=
face=3D"Tahoma" size=3D"2"> =3B  =3B  =3BPerlResponseHandler M=
odule::Test</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-spa=
n" face=3D"Tahoma" size=3D"2"><=3B/LocationMatch>=3B</font></p><p class=
=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">=
 =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" =
face=3D"Tahoma" size=3D"2">#http://ipaddress/path2/</font></p><p class=3D"M=
soNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"><=
=3BLocationMatch /path2/>=3B</font></p><p class=3D"MsoNormal"><font class=
=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B  =3B=
SetEnvIf Request_URI "/" TEST_VAR=3D200</font></p><p class=3D"MsoNormal"><f=
ont class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B=
 =3BSetHandler perl-script</font></p><p class=3D"MsoNormal"><font clas=
s=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B  =
=3BPerlResponseHandler Module::Test</font></p><p class=3D"MsoNormal"><font =
class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"><=3B/LocationMatch&=
gt=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" fac=
e=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNormal"><font cla=
ss=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">#-----------------------=
--------------------------------------------------------#</font></p><p clas=
s=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"=
> =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span"=
face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNormal"><font=
class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">#-------------------=
--------- Test.pm ---------------------------------------------#</font></p>=
<p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" siz=
e=3D"2"> =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-styl=
e-span" face=3D"Tahoma" size=3D"2"># Test.pm</font></p><p class=3D"MsoNorma=
l"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</fo=
nt></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Taho=
ma" size=3D"2">package Module::Test=3B</font></p><p class=3D"MsoNormal"><fo=
nt class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p=
><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" si=
ze=3D"2">use strict=3B</font></p><p class=3D"MsoNormal"><font class=3D"Appl=
e-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"Mso=
Normal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">use Apa=
che2::Const qw(:methods :http :common)=3B</font></p><p class=3D"MsoNormal">=
<font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">use Apache2::Lo=
g ()=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" f=
ace=3D"Tahoma" size=3D"2">use Apache2::URI ()=3B</font></p><p class=3D"MsoN=
ormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B=
</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"=
Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNormal"><font class=3D=
"Apple-style-span" face=3D"Tahoma" size=3D"2">my $param =3D env_variable()=
=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=
=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNormal"><font clas=
s=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">sub handler</font></p><p =
class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=
=3D"2">{</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" =
face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNormal"><font =
class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3BApac=
he2::ServerRec::warn($param)=3B</font></p><p class=3D"MsoNormal"><font clas=
s=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3Bprint "V=
alue".$param=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style=
-span" face=3D"Tahoma" size=3D"2"> =3B  =3Breturn Apache2::Const::O=
K=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=
=3D"Tahoma" size=3D"2">}</font></p><p class=3D"MsoNormal"><font class=3D"Ap=
ple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"M=
soNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =
=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=
=3D"Tahoma" size=3D"2">sub env_variable</font></p><p class=3D"MsoNormal"><f=
ont class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">{</font></p><p cl=
ass=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"=
2"> =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-spa=
n" face=3D"Tahoma" size=3D"2"> =3B  =3B  =3B # Configuration lo=
ading from a file during startup</font></p><p class=3D"MsoNormal"><font cla=
ss=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p cl=
ass=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"=
2"> =3B  =3B  =3B my $endpointURL =3D $ENV{'TEST_VAR'}=3B</font=
></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma=
" size=3D"2"> =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple=
-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B  =3B return $=
endpointURL=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-=
span" face=3D"Tahoma" size=3D"2">}</font></p><p class=3D"MsoNormal"><font c=
lass=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p =
class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=
=3D"2">1=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-spa=
n" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNormal"><fo=
nt class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">#-----------------=
------------------------------------------------------------ ---</font></p><=
p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=
=3D"2"> =3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style=
-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNormal"=
><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">But I tried wi=
th <=3BVirtualHost>=3B option and it is working fine as PerlOptions +Pa=
rent is present.</font></p><p class=3D"MsoNormal"><font class=3D"Apple-styl=
e-span" face=3D"Tahoma" size=3D"2">But since the port numbers are different=
firefox will now allow simulataneous access to</font></p><p class=3D"MsoNo=
rmal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">both URL =
from same webpage.</font></p><p class=3D"MsoNormal"><font class=3D"Apple-st=
yle-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNorm=
al"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</f=
ont></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tah=
oma" size=3D"2">#http://ipaddress:8080/path1/</font></p><p class=3D"MsoNorm=
al"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"><=3BVirtu=
alHost *:8080>=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-s=
tyle-span" face=3D"Tahoma" size=3D"2"> =3B  =3B SetEnvIf Request_UR=
I "/" TEST_VAR=3D100</font></p><p class=3D"MsoNormal"><font class=3D"Apple-=
style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B PerlRequire /home/=
test1/startup.pl</font></p><p class=3D"MsoNormal"><font class=3D"Apple-styl=
e-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"MsoNormal=
"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B &nbs=
p=3B PerlOptions +Parent</font></p><p class=3D"MsoNormal"><font class=3D"Ap=
ple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B  =3B<=3B=
LocationMatch /path2/>=3B</font></p><p class=3D"MsoNormal"><font class=3D=
"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B  =3B &n=
bsp=3B  =3B SetHandler perl-script</font></p><p class=3D"MsoNormal"><fo=
nt class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B =
 =3B  =3B  =3B PerlResponseHandler Module::Test</font></p><p cl=
ass=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"=
2"> =3B  =3B  =3B<=3B/LocationMatch>=3B</font></p><p class=
=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">=
<=3B/VirtualHost>=3B</font></p><p class=3D"MsoNormal"><font class=3D"Ap=
ple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D"M=
soNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =
=3B</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=
=3D"Tahoma" size=3D"2">#http://ipaddress:8085/path2/</font></p><p class=3D"=
MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"><=
=3BVirtualHost *:8085>=3B</font></p><p class=3D"MsoNormal"><font class=3D=
"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B SetEnvIf Re=
quest_URI "/" TEST_VAR=3D200</font></p><p class=3D"MsoNormal"><font class=
=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B PerlRequ=
ire /home/test1/startup.pl</font></p><p class=3D"MsoNormal"><font class=3D"=
Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p class=3D=
"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">&nb=
sp=3B  =3B PerlOptions +Parent</font></p><p class=3D"MsoNormal"><font c=
lass=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B &nbs=
p=3B<=3BLocationMatch /path2/>=3B</font></p><p class=3D"MsoNormal"><fon=
t class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B  =3B &=
nbsp=3B  =3B  =3B SetHandler perl-script</font></p><p class=3D"MsoN=
ormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B=
 =3B  =3B  =3B  =3B PerlResponseHandler Module::Test</font=
></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma=
" size=3D"2"> =3B  =3B  =3B<=3B/LocationMatch>=3B</font></p=
><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" si=
ze=3D"2"><=3B/VirtualHost>=3B</font></p><p class=3D"MsoNormal"><font cl=
ass=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p><p c=
lass=3D"MsoNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D=
"2">Please help me with this=2C Thanks in advance.</font></p><p class=3D"Ms=
oNormal"><font class=3D"Apple-style-span" face=3D"Tahoma" size=3D"2">Regard=
s=2C</font></p><p class=3D"MsoNormal"><font class=3D"Apple-style-span" face=
=3D"Tahoma" size=3D"2">uttam</font></p><p class=3D"MsoNormal"><font class=
=3D"Apple-style-span" face=3D"Tahoma" size=3D"2"> =3B</font></p></p></d=
iv> </div></body>
</html>=
--_32c6384b-d9ee-4ae9-9752-cda1911e339e_--
