3

I have an app that runs inside my firewall and talks out to multiple end points via HTTP/HTTPS on a non-standard port e.g. http://endpoint1.domain.com:7171, http://endpoint2.domain.com:7171

What I want to do is route these requests through a forward proxy that then rewrites the URL to something like http://allendpoints.domain.com/endpoint1 (port 80 or 443) then on the other end have a reverse proxy that unwinds what I did on the forward proxy to reach the specific endpoints.

The result being that I can route existing app requests through to specific endpoints across the internet without having to change my app software.

My questions are:

  1. is this even possible?
  2. is it a good idea, are their better ways to do this?
  3. Can this be done with IIS and Apache as the proxies?
1
  • This sounds like a very bad idea, simply because of it's sheer complexity in maintenance. And, what happens when (!) one component breaks - will this break everything? Will you have resources, time and money to maintain this? Will it scale? If the answer to these questions are No, then I suggest you find an easier route. My 2 cents... Oct 9, 2012 at 12:35

1 Answer 1

1

I think you're talking about chaining two reverse proxies together but that's just semantics.

I've implemented a reverse, rewriting proxy on Apache 2.2 - single proxy, not chained together as you're considering. It was pretty straight forward. I applied the proxy config right along side the rewrite config in the same VirtualHost and everything worked more or less like I expected.

I don't see why you couldn't put another on the remote end. You'll have created a sort of HTTP tunnel. It's an interesting idea. Not one, I'd be willing to try (I agree with @patrik-alienus). I'd probably investigate an SSH tunnel or VPN.

And, if IIS is the only option for one of the endpoints, that would be the end of the conversation as far as I'm concerned. But I haven't worked much with recent versions and wouldn't be any kind of authority on the matter.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.