Hi,
I'm struggling to get Apache to work properly as a Proxy to an internal
server. I have two copies of the same application running on this internal
server (both ASP applications running on IIS) that I need to access via
different URLs. I have managed to configure on and got it working without
problems, but it is the second one that is causing me the problem.
Here is my config file
<VirtualHost *:80>
ServerName www.domain.com
DocumentRoot "/var/www/html/www.domain.com"
# Production Server
<Location /ASPTest/>
ProxyPassReverse /
</Location>
ProxyPass /ASPTest/ http://192.168.100.1/
# Development & Test Server
<Location /dev/ASPTest/>
ProxyPassReverse /
</Location>
ProxyPass /dev/ASPTest/ http://192.168.100.1:8080/
</VirtualHost>
The ASP application's default.aspx page has a button that redirects the user
to intro.aspx
( Response.Redirect("intro.aspx") )
Now, accessing the server as www.domain.com/ASPTest/ works without problems.
I see the application running on 192.168.100.1 properly. When I click the
submit button on the default.aspx page, I get redirected to
http://www.domain.com/ASPTest/intro.aspx. And so on. This applications
works perfectly well.
However, when I try to access http://www.domain.com/dev/ASPTest/, I run into
problems. The default page loads fine and shows me default.aspx from port
8080. However, when I click the submit button on it, I get redirected to
the same page as the non-development one -
http://www.domain.com/ASPTest/intro.aspx. So from that point on, I am no
longer working with the development code and back to the live production
one.
I tried to use ProxyPassReverse without the <Location> headers, but it
doesn't work at all as soon as it receives the Response.Redirect() code.
Can anyone point me in the right direction here? Why is my redirect from
/dev/ASPTest/ getting redirected to /ASPTest/ instead?
Thanks!
Eric