PDA

View Full Version : Redirecting http request to internal web server


MacUsers
2008-09-01, 09:31 AM CDT
Greeting all!!!

I'm looking for a solution to this problem. Here is my network - I have two web servers (namely, srv_web and srv_prvt) behind a firewall with a valid public IP address. srv_web is used as the principal web server, which is publicly accessible though NAT (on the router). The other server (i.e. srv_prvt) is also in the same network, running a web application (for ip camera) but only with a private IP address (10.0.1.90) and not world viewable for obvious reason. I want to access the web page(s) running on the srv_prvt from the srv_web fro outside of my home network.

Say, the internal page, which I want to access is: http://10.0.1.90/en/view.php and I like to have a page on the srv_web pointing to the above private location to view the page. Is it possible? How can I do that?

Thanks in advance for your help; I really appreciate it. Cheers!!!

Edit:
I forgot to mention that I'm on fedora 7 and using Apache 2.2.8

briantan
2008-09-01, 09:52 AM CDT
You can use ProxyPass to access private web pages.
<VirtualHost *:80>
ServerName www.srv_web.com
....
ProxyRequests Off
ProxyPass /en/view.php http://10.0.1.90/en/view.php
ProxyPassReverse /en/view.php http://10.0.1.90/en/view.php
</VirtualHost>
You'll have to define ProxyPass/ProxyPassReverse for any included urls such as images, css, script,etc. Otherwise they won't load.

For documentation of ProxyPass, see
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass
http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypassreverse

Obviously, your srv_web server must have access to srv_prv. If only 1 NIC, define alias interface such as eth0:1

MacUsers
2008-09-01, 10:32 AM CDT
Hi briantan,

Thanks for your reply.
I see I wasn't very wrong thinking the "reverse proxy" should the job. So, this is what I have in my httpd.conf at the moment:

<IfModule mod_proxy.c>
ProxyRequests off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

<VirtualHost 10.0.1.50:80>
ServerName 10.0.1.90:8080
DocumentRoot "/web/www/htdocs/mon"
ProxyPass /mon/ http://10.0.1.90:8080/
#ProxyHTMLURLMap http://10.0.1.90:8080/ /mon/

<Location /mon>
ProxyPassReverse http://10.0.1.90:8080/
SetOutputFilter proxy-html
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
#ProxyHTMLURLMap / /mon/
#ProxyHTMLURLMap /mon /mon
RequestHeader unset Accept-Encoding
</Location>

<Directory />
Options -Indexes Includes FollowSymLinks MultiViews IncludesNoExec
AllowOverride all
Order allow,deny
allow from all
</Directory>

DirectoryIndex index.html index.php
</VirtualHost>
10.0.1.50 is the srv_web and the page pointing to the srv_prvt is "/mon/index.html" with this in it:


<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv=content-type>
<meta content=0 http-equiv=expires>
<meta content=no-cache http-equiv=pragma>
<link href="http://10.0.1.90:8080/en/css/top.css" rel=stylesheet type=text/css>
</head>

<body bgColor=#55616b leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
<center>
<table border=0 cellpadding=0 cellspacing=0 width="660" height="37">
<tr>
<td height=37 background="images/mjpgtop.jpg"></td>
</tr>
<tr>
<td style="height: 498px; background-image: url('http://10.0.1.90:8080/en/images/mjpeg_view.jpg')" />
<center>
<table width=640 border=0 cellspacing=0 cellpadding=0>
<tr><td>
<input type=image name=MJPEG_LIVE src=http://10.0.1.90:8080/stream.jpg width="640" height="480" border="0">
</tr></td>
</table
</center>
</td>
</tr>
</table>
</center></body>
</html>

It's working perfectly well from my internal network but not from the out side. Though I didn't quite undersand your last line: "Obviously, your srv_web server must have access to srv_prv....". Without doing any thing special in terms of that, as I said above, it's working from my internal net work but not from the outside world. Any idea, what am I missing? cheers!!!

briantan
2008-09-01, 02:12 PM CDT
<VirtualHost 10.0.1.50:80>
ServerName 10.0.1.90:8080
DocumentRoot "/web/www/htdocs/mon"
ProxyPass /mon/ http://10.0.1.90:8080/
from what I can gather, srv_web is listening to request for http://10.0.1.50:80. From outside world, it must be accessed from a public IP address or a FQDN, and would not match your VirtualHost entry.

Suggest you remove IP address from VirtualHost, and define ServerName and ServerAlias for all possible URL variation.

Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerName 10.0.1.50
ServerAlias public_ip_addr
ServerAlias FQDN
#ServerAlias 10.0.1.90:8080 # this will never get matched, and don't need this
....


Hope this helps.

briantan
2008-09-01, 02:18 PM CDT
I think you're probably going to have problem with these:
<link href="http://10.0.1.90:8080/en/css/top.css" rel=stylesheet type=text/css>
<td style="height: 498px; background-image: url('http://10.0.1.90:8080/en/images/mjpeg_view.jpg')" />
as 10.0.1.90:8080 is not accessible from "outside world"

Use relative path for url and define these in ProxyPass and ProxyReverse.

Edit: last line typo: ProxyReverse should be ProxyPassReverse.

briantan
2008-09-01, 02:27 PM CDT
Obviously, your srv_web server must have access to srv_prv....". !!!

Ignore this statement, as I thought srv_web were using public IP address.

MacUsers
2008-09-01, 06:17 PM CDT
from what I can gather, srv_web is listening to request for http://10.0.1.50:80. From outside world, it must be accessed from a public IP address or a FQDN, and would not match your VirtualHost entry.That's right - srv_web is already accessed by a public IP (and FQDN) from out side world. The router does the address translation (NAT) - any http/https request from the outside goes to 10.0.1.50 (i.e. srv_web).

Suggest you remove IP address from VirtualHost, and define ServerName and ServerAlias for all possible URL variation.

Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerName 10.0.1.50
ServerAlias public_ip_addr
ServerAlias FQDN
#ServerAlias 10.0.1.90:8080 # this will never get matched, and don't need this
....I'm a bit confused here - how this code going to do anything with 10.0.1.90:8080? We need to point to that server some point, isn't it?

MacUsers
2008-09-01, 06:31 PM CDT
I think you're probably going to have problem with these:
<link href="http://10.0.1.90:8080/en/css/top.css" rel=stylesheet type=text/css>
<td style="height: 498px; background-image: url('http://10.0.1.90:8080/en/images/mjpeg_view.jpg')" />
as 10.0.1.90:8080 is not accessible from "outside world"
Use relative path for url and define these in ProxyPass and ProxyReverse.I understand that the main problem is as there is no access to 10.0.1.90 from out side world. So, if I rewrite ProxyPass and ProxyPassReverse lines according to your suggestion, what these two line should look like after that?

MacUsers
2008-09-01, 06:34 PM CDT
Ignore this statement, as I thought srv_web were using public IP address.Not directly but can be reached by a public IP or FQDN from outside world.

briantan
2008-09-01, 07:28 PM CDT
With ProxyPass, http_request is sent to srv_web, and srv_web in turn send the request to srv_pvt. Resulting http_response (web page) from srv_pvt is masqueraded via ProxyPassReverse and return to browser as if they originate from srv_web.

If the returned web page contains further urls (images/css, etc), browser will send http_request for these objects. If these urla contains private ip, external browser will not know where to send these request. It works internally because internal browser have access to private ip, and it is actually sent directly to srv_pvt.

Listen 80
NameVirtualHost *:80
<VirtualHost *:80>
ServerName 10.0.1.50
ServerAlias public_ip_addr
ServerAlias FQDN
DocumentRoot "/web/www/htdocs/mon"
ProxyPass /mon http://10.0.1.90:8080
ProxyPassReverse /mon http://10.0.1.90:8080
ProxyPass /en http://10.0.1.90:8080/en
ProxyPassReverse /en http://10.0.1.90:8080/en
.....

You may get a warning but should be ok.
[warn] worker http://10.0.1.90:8080/ already used by another worker
as ProxyPass works inherently for sub-directories.

Keep all your images in /web/www/htdocs/mon/en/images, and css in /web/www/htdocs/mon/en/css. The following html will work the same way, accessing directly from srv_pvt or via srv_web.
<html>
....
<link href="/en/css/top.css" rel=stylesheet type=text/css>
....
<td height=37 background="/en/images/mjpgtop.jpg"></td>
....
<td style="height: 498px; background-image: url('/en/images/mjpeg_view.jpg')" />
....
<input type=image name=MJPEG_LIVE src="/en/images/stream.jpg" width="640" height="480" border="0">
....
</html>

briantan
2008-09-01, 07:30 PM CDT
To eliminate the warning, swap the sequence of ProxyPass

ProxyPass /en http://10.0.1.90:8080/en
ProxyPassReverse /en http://10.0.1.90:8080/en
ProxyPass /mon http://10.0.1.90:8080
ProxyPassReverse /mon http://10.0.1.90:8080

MacUsers
2008-09-02, 01:25 AM CDT
Keep all your images in /web/www/htdocs/mon/en/images, and css in /web/www/htdocs/mon/en/css. The following html will work the same way, accessing directly from srv_pvt or via srv_web.One question - do you mean "/web/www/htdocs/mon/en/images" on the srv_web? I think, if put stuff in srv_web itself, then there is no point to try redirecting request to srv_prvt (10.0.1.90:8080). On the other hand, setting up "/web/www/htdocs/mon/..." is not possible on the srv_prvt; it has to be "/en/...." and I can't do anything about it.

I still can try putting the .css and all the static images on the srv_web but the problem is with this:
<input type=image name=MJPEG_LIVE src="/stream.jpg" width="640" height="480" border="0"></html>This is camera data and "stream.jpg" is being created dynamically in the "/" location on the srv_prvt and that location is unchangeable. Cheers!!!

briantan
2008-09-02, 06:26 AM CDT
I mean put the images on the srv_pvt. I assumed it was similar to DocumentRoot of srv_web.

What I meant was put images and css in one place, so you don't require too many ProxyPass directives. It is not mandatory.

If /stream.jpg is at where it is, then I guess you'll need additional directives like

ProxyPass /stream.jpg http://10.0.1.90:8080/stream.jpg
ProxyPassReverse /stream.jpg http://10.0.1.90:8080/stream.jpg

On the other hand, you can create symbolic link to place /stream.jpg in line with your other images.

Of course you'll then need option FollowSymLinks in your <Directory> directives.

MacUsers
2008-09-02, 08:21 AM CDT
humm..... It's not working - I must have been doing something wrong in conf file. This is my entire VirtualHost configuration:

NameVirtualHost 10.0.1.50:80

# Web server
<VirtualHost 10.0.1.50:80>
ServerAdmin admin@domain.xyz.ac.uk
ServerName www.domain.xyz.ac.uk
ServerAlias domain.xyz.ac.uk srv_web.domain.xyz.ac.uk
DocumentRoot "/www/web/htdocs"

# Redirect /squirrelmail link to secured server
Redirect permanent /mail https://www.domain.xyz.ac.uk/mail

# simple mod_rewrite
<Location /mail>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}:443%{REQUEST_URI} [QSA,R=permanent,L]
</Location>
</VirtualHost>

# Mail server
<VirtualHost 10.0.1.50:80>
ServerAdmin admin@domain.xyz.ac.uk
ServerName mail.domain.xyz.ac.uk
DocumentRoot "/www/web/mail"

<Directory />
Options -Indexes Includes FollowSymLinks MultiViews IncludesNoExec
AllowOverride all
Order allow,deny
allow from all
</Directory>

DirectoryIndex index.html index.php
#RedirectMatch ^/$ https://www.domain.xyz.ac.uk/mail
</VirtualHost>

# Camera data
<VirtualHost 10.0.1.50:80>
ServerAdmin admin@domain.xyz.ac.uk
ServerName www.domain.xyz.ac.uk
ServerAlias domain.xyz.ac.uk srv_web.domain.xyz.ac.uk
DocumentRoot "/www/web/htdocs/mon"
ProxyPass /en http://10.0.1.90:8080/en
ProxyPassReverse /en http://10.0.1.90:8080/en
ProxyPass /stream.jpg http://10.0.1.90:8080/stream.jpg
ProxyPassReverse /stream.jpg http://10.0.1.90:8080/stream.jpg
ProxyPass /mon http://10.0.1.90:8080
ProxyPassReverse /mon http://10.0.1.90:8080
#ServerName 10.0.1.90:8008
#ProxyHTMLURLMap http://10.0.1.90:8008/ /mon/

<Location /mon>
SetOutputFilter proxy-html
SetEnv force-proxy-request-1.0 1
SetEnv proxy-nokeepalive 1
#ProxyHTMLURLMap / /mon/
#ProxyHTMLURLMap /mon /mon
RequestHeader unset Accept-Encoding
</Location>

<Directory />
Options -Indexes Includes FollowSymLinks MultiViews IncludesNoExec
AllowOverride all
Order allow,deny
allow from all
</Directory>

DirectoryIndex index.html index.php
</VirtualHost>


Just to make myself clear: "/www/web/htdocs" is the document root on the public server i.e. srv_web and "/" is document root (as I understand) on the srv_prvt. The .html file for the redirection is in "/www/web/htdocs/mon" on the srv_web and the actual data are in "/en/css/*.css", /en/images/*.jpg" and "/stream.jpg" on the srv_prvt. According to this, is my configuration file correct?
Many thanks for your time and kind assistance. Cheers!!!

PS. the actual domain name has been replaced with "domain.xyz.ac.uk" intentionally.

briantan
2008-09-02, 08:35 AM CDT
How do you access the srv_web from the internet? What url?

I assume the web in question is "# Camera data". Can you change httpd.conf: "Listen 80" and "NameVirtualHost *:80" and "<VirtualHost *:80>"
<VirtualHost *:80>
ServerAdmin admin@domain.xyz.ac.uk
ServerName www.domain.xyz.ac.uk
ServerAlias domain.xyz.ac.uk
ServerAlias srv_web.domain.xyz.ac.uk
DocumentRoot "/www/web/htdocs/mon"
ProxyPass /en http://10.0.1.90:8080/en
ProxyPassReverse /en http://10.0.1.90:8080/en
ProxyPass /stream.jpg http://10.0.1.90:8080/stream.jpg
ProxyPassReverse /stream.jpg http://10.0.1.90:8080/stream.jpg
ProxyPass /mon http://10.0.1.90:8080
ProxyPassReverse /mon http://10.0.1.90:8080


What does the httpd.conf on srv_pvt look like?

Edit: I don't understand the "/" bit on srv_pvt. Would be helpful to show the httpd.conf on srv_pvt.

briantan
2008-09-02, 08:50 AM CDT
Just to make myself clear: "/www/web/htdocs" is the document root on the public server i.e. srv_web and "/" is document root (as I understand) on the srv_prvt. The .html file for the redirection is in "/www/web/htdocs/mon" on the srv_web and the actual data are in "/en/css/*.css", /en/images/*.jpg" and "/stream.jpg" on the srv_prvt. According to this, is my configuration file correct?
OK. So the index.html given is in srv_web (/www/web/htdocs/mon). The sample ProxyPass I quoted is for index.html to be on srv_pvt.

In this case, you only need two set of ProxyPass

ProxyPass /en http://10.0.1.90:8080/en
ProxyPassReverse /en http://10.0.1.90:8080/en
ProxyPass /stream.jpg http://10.0.1.90:8080/stream.jpg
ProxyPassReverse /stream.jpg http://10.0.1.90:8080/stream.jpg

I reckon you access the page by
http://www.domain.xyz.ac.uk

MacUsers
2008-09-02, 09:20 AM CDT
How do you access the srv_web from the internet? What url?By it's registered domain name [and/or public IP address]. Do you need to know the actual domain name as well?
I assume the web in question is "# Camera data". Can you change httpd.conf: "Listen 80" and "NameVirtualHost *:80" and "<VirtualHost *:80>"From my previous experience, *:80 didn't use to work. I've had seen that doing that apart form the very first one, rest of the <VirtualHost> configurations don't work. with my existing config, every thing works perfectly (web, mail, etc.) well from the outside world but the "Camera Data".
What does the httpd.conf on srv_pvt look like?
Edit: I don't understand the "/" bit on srv_pvt. Would be helpful to show the httpd.conf on srv_pvt.That's a big question and the answer is: I don't know. That's the built-in web server in the camera itself and the data can viewed using "http://10.0.1.90:8080" from the internal network, which actually does "http://10.0.1.90:8080/en/jgmain.asp" to display the live camera view. Cheers!!!

Edit: Just to mention, if I make a hole in my firewall to allow 8080 and map the http_request on port 8080 to 10.0.1.90 (NAT) then I can view the live camera data from outside using like http://www.domain.xyz.ac.uk:8080 but I really don't want to do that way.

MacUsers
2008-09-02, 09:43 AM CDT
OK. So the index.html given is in srv_web (/www/web/htdocs/mon). The sample ProxyPass I quoted is for index.html to be on srv_pvt.As I mentioned earlier, that modifying srv_pvt conf file is not a viable option for me. I think, I'm ending up with another confusion - all those "ProxyPass and ProxyPassReverse" settings should go in the config file of the private server? I thought the config files (and the settings) should be on the server, which is publicly viewable from the internet. So, I was wrong??
I reckon you access the page by http://www.domain.xyz.ac.ukYes, that's right; as I said before.

briantan
2008-09-02, 10:36 AM CDT
By it's registered domain name [and/or public IP address]. Do you need to know the actual domain name as well?
From my previous experience, *:80 didn't use to work. I've had seen that doing that apart form the very first one, rest of the <VirtualHost> configurations don't work. with my existing config, every thing works perfectly (web, mail, etc.) well from the outside world but the "Camera Data".
For me *:80 works well and I think it is the recommended approach. The web site is identified by the ServerName or ServerAlias.

That's a big question and the answer is: I don't know. That's the built-in web server in the camera itself and the data can viewed using "http://10.0.1.90:8080" from the internal network, which actually does "http://10.0.1.90:8080/en/jgmain.asp" to display the live camera view. Cheers!!!

Edit: Just to mention, if I make a hole in my firewall to allow 8080 and map the http_request on port 8080 to 10.0.1.90 (NAT) then I can view the live camera data from outside using like http://www.domain.xyz.ac.uk:8080 but I really don't want to do that way.
In that case, why don't you take the simple approach.
<VirtualHost *:80>
ServerName camera.domain.xyz.ac.uk
ProxyRequests Off
ProxyPass / http://10.0.1.90:8080/
ProxyPassReverse / http://10.0.1.90:8080/
</VirtualHost>
In your browser, what does view-source of http://www.domain.xyz.ac.uk:8080/en/jgmain.asp page shows? Is that the html sample that you posted?

Also from your post #14, your web server and camera data are having the same servername "www.domain.xyz.ac.uk". If accessed by the same servername or ip, the first virtual host is served. Could that be the problem?

MacUsers
2008-09-02, 03:03 PM CDT
In that case, why don't you take the simple approach.
<VirtualHost *:80>
ServerName camera.domain.xyz.ac.uk
ProxyRequests Off
ProxyPass / http://10.0.1.90:8080/
ProxyPassReverse / http://10.0.1.90:8080/
</VirtualHost>I could do that but I just don't wanna display the exact same page as provided by the camera - there are links for the camera configuration and system info in the default page, which I don't wanna show to the world.

In your browser, what does view-source of http://www.domain.xyz.ac.uk:8080/en/jgmain.asp page shows? Is that the html sample that you posted?Yeah, the page I made (i.e. /mon/index.html) on the srv_web is actually the modified version of "view-source" of the "http://10.0.1.90:8080/en/mjpgmain.asp; I just removed all the links. Here is the original one:
<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv=content-type>
<meta content=0 http-equiv=expires>
<meta content=no-cache http-equiv=pragma>
<link href="css/top.css" rel=stylesheet type=text/css>
<script language="JavaScript">
<!--
function openSettingWin() {
window.open("main.asp", "", "height=500, width=795, top=0, left=0, toolbar=1, menubar=1, scrollbars=1, resizable=1,location=1, status=1");
}
// -->
</script>
</head>

<body bgColor=#55616b leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
<center>
<table border=0 cellpadding=0 cellspacing=0 width="660" height="37">
<tr>
<td height=37 background="images/mjpgtop.gif">
<table width=100% border=0 cellspacing=0 cellpadding=0>

<tr>
<td width="24%">&nbsp;</td>
<td width="75%" align=right>
<font color=#000000>
<a href="login.asp" target="_top"><font color=#000000>Home</font></a>
<b>|</b>
<a href="javascript:openSettingWin()"><font color=#000000>Setting</font></a>

</font>
</td>
<td width="1%">&nbsp;</td>
</tr>
</table>
</td>
</tr>
<tr>
<td height=498 background="images/mjpeg_view.jpg">
<center>

<table width=640 border=0 cellspacing=0 cellpadding=0>
<tr><td>
<input type=image name=MJPEG_LIVE src=../stream.jpg width=640 height=480 border=0></tr></td>
</table

</center>
</td>
</tr>
</table>
</center>
</body>
</html>

Also from your post #14, your web server and camera data are having the same servername "www.domain.xyz.ac.uk". If accessed by the same servername or ip, the first virtual host is served. Could that be the problem?Yeah, I figured that out lately and modified the httpd.conf like this:
<VirtualHost 10.0.1.50:80>
ServerAdmin admin@domain.xyz.ac.uk
ServerName www.domain.xyz.ac.uk
ServerAlias domain.xyz.ac.uk srv_web.domain.xyz.ac.uk
DocumentRoot "/www/web/htdocs"
ProxyPass /stream.jpg http://10.0.1.90:8080/stream.jpg
ProxyPassReverse /stream.jpg http://10.0.1.90:8080/stream.jpg

# Redirect /squirrelmail link to secured server
Redirect permanent /mail https://www.domain.xyz.ac.uk/mail

# simple mod_rewrite example
<Location /mail>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule .* https://%{HTTP_HOST}:443%{REQUEST_URI} [QSA,R=permanent,L]
</Location>

<Location /mon>
ProxyPass http://10.0.1.90:8080/en
ProxyPassReverse http://10.0.1.90:8080/en
SetOutputFilter proxy-html
RequestHeader unset Accept-Encoding
</Location>
</VirtualHost>After that, now I can do like "http://www.domain.xyz.ac.uk/stream.jpg" or "http://www.domain.xyz.ac.uk/mon/images/mjpgtop.gif" - indeed it's a progress (thanks to you) but "http://www.domain.xyz.ac.uk/mon" is still not working. it says: Access error - cannot open url /en/login.htm. Interestingly, if I try to access "http://10.0.1.90:8080/en" or "http://10.0.1.50/mon/" from the internal network, I see exactly the same error. Cheers!!!

Edit: I did not implement that "*:80" bit yet but I dn't think that's the actual problem.

briantan
2008-09-02, 06:24 PM CDT
Looks like the default page for /en is login.htm.

Hope you acheive what you need soon.

Have fun.

MacUsers
2008-09-03, 01:02 AM CDT
Looks like the default page for /en is login.htm.I think it's not, otherwise "http://10.0.1.90:8080/en" wouldn't return the error - isn't it? Or maybe that's the default page but not present (???). There is a page though, called login.asp in there. Any idea why I'm seeing this? Is there anything still missing? cheers!!!

briantan
2008-09-03, 06:18 AM CDT
No idea.

Perhaps something to do with cookie? Missing cookie cause login? Look for cookies related directives in apache2 docs.

Try comment out to see if helps:
SetOutputFilter proxy-html
RequestHeader unset Accept-Encoding

MacUsers
2008-09-03, 07:08 AM CDT
Hi briantan,

I've now figured out what to do to get the desired result and the workaround is not to enter the "/en" directory for any reason.

So, I've copied everything from "srv_prvt:/en/{css,images}/*" to "srv_web:/mon/{css,images}/" and then created a sub-directory: "srv_web:/mon/en"

Next, changed httpd.conf like this:
<Location /mon/en>
ProxyPass http://10.0.1.90:8080
ProxyPassReverse http://10.0.1.90:8080
SetOutputFilter proxy-html
RequestHeader unset Accept-Encoding
</Location>
And the "srv_web:/mon/index.html" is now like this:

<html>
<head>
<meta content="text/html; charset=windows-1252" http-equiv=content-type>
<meta content=0 http-equiv=expires>
<meta content=no-cache http-equiv=pragma>
<link href="css/top.css" rel=stylesheet type=text/css>
</head>

<body bgColor=#55616b leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
<center>
<table border=0 cellpadding=0 cellspacing=0 width="660" height="37">
<tr><td height=37 background="images/mjpgtop.jpg"></td></tr>

<tr><td style="height: 498px; background-image: url('images/mjpeg_view.jpg')" />
<center><table width=640 border=0 cellspacing=0 cellpadding=0>
<tr><td>
<input type=image name=MJPEG_LIVE src=en/stream.jpg width="640" height="480" border="0">
</tr></td>
</table></center>
</td></tr>
</table>

</center>
</body>
</html>
This is doing exactly what I was trying to do and It couldn't be easier to do without your help. Thank you very much for your time and assistance.

BTW, on a separate case, do you know why I always get this:

Invalid command 'ProxyHTMLURLMap', perhaps misspelled or defined by a module not included in the server configuration

if I use "ProxyHTMLURLMap" in my conf file. I tried google a bit and found few of us reported the same problem but didn't get any definite answer.

cheers!!!

briantan
2008-09-03, 08:10 AM CDT
ProxyHTMLURLMap is not standard Apache module. I think it's part of a third party module mod_proxy_html.

http://apache.webthing.com/mod_proxy_html/

MacUsers
2008-09-03, 10:48 AM CDT
Yeah, I knew it's a third party module and proxy_html was already installed but just discovered that all the time I was thinking proxy_http_module as proxy_html_module. It's working now. Thank you.