Incorrect URLs behind reverse-proxy?

Topics: ASP.NET 2.0
Oct 22, 2007 at 4:01 PM
Greetings All,

I've been trying out BlogEngine.NET and I really want to use it, but I'm running into issues due to how it's deployed... I have Apache as a proxy (w/ mod_proxy) listening on port 80 in front of IIS listening on port 8087, and I'm able to see the main page, but as soon as I try to login or follow some other links (E-mail | Kick it! | DZone it! | | permalink, etc.) the link is wrong (i.e. wrong port #).

I realize that this setup is a bit odd, but hope somebody else has come across it. Is there a quick, easy (read configuration change) answer to this?

The Apache httpd.conf has mutilple <VirtualHost/> on port 80 including the following...
<VirtualHost *:80>
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://localhost:8087/
<Location />
ProxyPassReverse http://localhost:8087/
RequestHeader unset Accept-Encoding

IIS has multiple sites on 8087 with host-name resolution.

I have investigated within the code a bit to determine that most of these URLs rely on BlogEngine.Core.Utils.Absolute.AbsoluteWebRoot, but if I set this to a literal (e.g I get errors in ConvertToAbsolute.

Thanks in advance for any insight.