Sign in to follow this  

[web] IIS and an Apache Subversion repository

This topic is 4478 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

This may not be the right forum to post it in, and if its not, I'm sorry. I've got a Windows 2000 Server box that has both IIS (port 80) and Apache2 (port 8080). The Apache server is for web access to a Subversion repository. Does anyone know a way I can create something like a virtual directory in IIS that would automatically forward itself over to the Apache repository directory. www.myserver.com:8080/repos (accesses the Subversion repository). what I want is something like www.myserver.com/repos which would automatically forward itself to www.myserver.com:8080/repos

Share this post


Link to post
Share on other sites
I've no idea how to do this. You can almost certainly do it with third party mod_rewrite -like modules for IIS, however they are typically commercial pay-for software.

What I can suggest is that your run Apache on a different IP address from IIS, then you can run them both on port 80 (Provided you can persuade IIS not to bind to all interfaces).

Another option which might be reasonable is to run HTTPS via Apache on port 443 - unless of course, IIS is using that too.

One final option which might sound even more rediculous, is to move IIS to port 8080, and have Apache run on port 80 and redirect everything *not* in /repos to IIS. This is certainly feasible.

Mark

Share this post


Link to post
Share on other sites
You can redirect using the 'location' field in the http header. I've no idea how to do this in a microsoft way, but in php it's as simple as calling the header func. I'd guess something similar is available for asp+IIS/whatever.

Share this post


Link to post
Share on other sites
It's easier to set it up the other way - have Apache forward to IIS. Apache has some modules for this in the base install - the equivalent modules for IIS cost a lot of money, from what I've heard.

Share this post


Link to post
Share on other sites
or you just create a directory under iss for that and stick an invisible frame forward (index.html) in that directory to forward to the apache.

Share this post


Link to post
Share on other sites
WASHU:

Great idea Washu, but I think you're overlooking:

1. Subversion repositories over HTTP are not normally accessed via web browser - thus frameset or other tricks are ineffective

2. Presumably the OP is asking how to do this because their firewall(s) block port 8080 either incoming to the server or outgoing from the clients - your method would not help this, even if the frameset / redirect method actually did work.

I'm sure there are third party utils which can be bolted on to IIS to achieve this. What I'm not sure is whether any of them are free of charge.

Arild Fines:

Quote:

the equivalent modules for IIS cost a lot of money


I doubt it. More than likely there are cheapo ones which are something like $100 per server, maybe less - which of course is quite inexpensive when you've already paid something like $600 for a Windows server licence.

mrbastard:

Using a HTTP redirect of any type (which can be set up directly in the IIS manager, or via an ASP page), would suffer from the same problem as Washu's solution - i.e. it is pretty useless because the redirected requests would be blocked by someone's firewall (or perhaps merely not forwarded by their proxy).

Me / Arlid:

Of course having an important application served via two web servers is less than ideal. There are twice as many to go wrong, for a start. It might have some (minor) performance implications too.

But management of two web servers would definitely be the reason I wouldn't recommend using it for a production system (Unless you have a *really* tightly controlled change management and documentation system). It's easy to create broken configurations.

Mark

Share this post


Link to post
Share on other sites
This is more of a test server any and its not in any kind of professional environment. I was just curious if it was possible.

And really what I was looking for was if it was possible to basically just use the regular address, instead of having to type www.myserver.com:8080 everytime. It's not a big deal, I was just curious if it could be done.

[Edited by - Rattrap on September 9, 2005 9:27:07 AM]

Share this post


Link to post
Share on other sites
You could use svnserve and use svn://host/project/trunk/ URIs instead.

Or you could run Apache as the primary server and redirect things with mod_proxy, however it works. There's probably something like that for IIS too.

Edit: A reverse proxy, eh?

Share this post


Link to post
Share on other sites
I had assumed that you were trying to get around firewall rules on your server's network, or clients' networks (clients networks being more likely).

Personally I run svn over https on port 8443, and it's not like it makes things any harder - after all, svn only needs to be told the URL of its repository once and thereafter remembers it.

Mark

Share this post


Link to post
Share on other sites

This topic is 4478 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this