Hi guys, I'm trying to setup a reverse proxy, on a setup that looks like this: Win2k Pro SUSE 9.3 Masquerading Web App server <------ Apache2 <------- Linux http http <---> https Firewall Note the http to https conversion. I would like the site to be avialable only via https from the outside. Can apache2 do that? The examples I've found so far are not well explained, and there seems to be a module I need that isn't in SUSE. Here's what I have so far: ProxyPass /workpool/ http://192.168.3.22:8080/ ProxyPassReverse /workpool/ http://192.168.3.22:8080/ <Location /workpool/> ProxyPassReverse / </Location> <Location /workpool/> ProxyHTMLURLMap / /workpool/ </Location> It works, (no ssl yet), but for some reason it doesn't load the pictures, for example, if look at the "link location" for an image, it shows http://sensormatic.dyndns.info/img/login_logo.gif instead of http://sensormatic.dyndns.info/workpool/img/login_logo.gif What am I doing wrong? Thanks Hans
On 8/19/05, Hans du Plooy <hansdp-lists@sagacit.com> wrote:
Hi guys,
I'm trying to setup a reverse proxy, on a setup that looks like this:
Win2k Pro SUSE 9.3 Masquerading Web App server <------ Apache2 <------- Linux http http <---> https Firewall
Note the http to https conversion. I would like the site to be avialable only via https from the outside. Can apache2 do that?
The examples I've found so far are not well explained, and there seems to be a module I need that isn't in SUSE. Here's what I have so far:
ProxyPass /workpool/ http://192.168.3.22:8080/ ProxyPassReverse /workpool/ http://192.168.3.22:8080/
Hi Hans, the section above is ok..
<Location /workpool/> ProxyPassReverse / </Location>
what exactly should this do? If you'd like a notation in the <Location> section you would use the the target URI instead of the above (like ProxyPassReverse http://192.168.3.22:8080/), as the ProxyPass directive uses the first parameter from the <location /somewhere/ > tag. But you already defined the ProxyPass(Reverse) in the (e.g.) vhost server section.
<Location /workpool/> ProxyHTMLURLMap / /workpool/ </Location>
no, the proxy_html module is not included in SuSE9.3
It works, (no ssl yet), but for some reason it doesn't load the pictures, for example, if look at the "link location" for an image, it shows
http://sensormatic.dyndns.info/img/login_logo.gif instead of http://sensormatic.dyndns.info/workpool/img/login_logo.gif
What am I doing wrong?
This happens because the http-stream is not filtered by mod_proxy, so the content page which includes pictures, links, forms,.. any kind of referrals in the html-output is not going to be altered by mod_proxy. If you'd like to use ProxyPassReverse in directory / location based mode, you'd have to be shure that no(!!!) referral is a absolute path. But exactly this happens here. e.g.: your location to be reverse proxied be http://yourproxy/hiddenhost/. Now, a image referral like this: <img src="/images/logo.gif" border=0> would lead to the following path: http://yourproxy/images/logo.gif which does not exist, because the path in your html output of your hidden host is not translated. But it would still point to your reverse-proxy-host. This would try to by-pass your reverse proxy completely: <img src="http://hiddenhost.foo.com:8080/images/logo.gif" border=0> And finally, this is how it should look like (note the missing leading "/"), to be treated as a relative path: <img src="images/logo.gif" border=0> be also be careful that you won't use "../somepath/" in your html-files in your base directory of the hidden host you point at, which would lie outside of your reverse-proxied path..
Thanks Hans
Hope this helps, Markus
participants (2)
-
Hans du Plooy
-
Markus Natter