On Nov 23, 2007 6:52 PM, Paul Cocker <[EMAIL PROTECTED]> wrote:

> Hi all, first time on the apache list so have mercy ;)
>
> I have been tasked with setting up a system whereby a Linux server
> running apache 2.0.59 in the DMZ takes requests on port 80 and then
> passes them through to an internal Windows server running IIS which
> actually hosts the HTML.
>
> Such a setup already exists (though it's Linux to Linux) so I thought
> this would be relatively easy to do, just copy the existing setup.
> People currently connect to http://www.domain.co.uk/folder/login.html
> and all is well. Searching the httpd.conf file I can find only one
> reference to folder, which is:
>
> <VirtualHost *:80>
>     ServerAdmin [EMAIL PROTECTED]
>     ServerName www.domain.co.uk
>     DocumentRoot /var/www/html/domain
>     RewriteEngine on
>     RewriteRule ^/folder(.+)    https://www.domain.co.uk/folder$1 [R,L]
>     RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
>     RewriteRule .* - [F]
> </VirtualHost>
>
> So we're using the rewrite module... except having read the
> documentation on this feature I cannot fathom it.
>
> I hoped that with the above I could simply add another line:
>
> RewriteRule ^/folder2(.+)    https://www.domain.co.uk/folder2$1 [R,L]
>
> I then added a route for the relevant server so the traffic is routed to
> the internal network when its name is called. However, without really
> understanding the above I'm not in much of a position to progress
> further when this invariably fails to work. I don't know whether the
> above in any way relates to the name apache calls which then causes the
> call to be routed to server X.
>
> Any advice or guidance you can offer would be much appreciated.
>
> Paul Cocker
> IT Systems Administrator <[EMAIL PROTECTED]>


Your example is not rewriting to an internal server.  You want to use
mod_proxy.  Let's say your windows box is 192.168.1.100, then you want
something like this inside your VirtualHost directive:

ProxyRequests off
ProxyPass /folder2 http://192.168.1.100
ProxyPassReverse /folder2 http://192.168.1.100

With this, anytime someone visits your externally accessible site at
http://www.domain.co.uk/folder2, they'll see the html output by your windows
server at http://192.168.1.100 and your internal IIS host is never directly
accessible from the internet.

cheers,
Victor

-- 
http://www.victortrac.com

Reply via email to