javahttpproxyurl-rewritingurl-obsfucation

Java HTTP Proxy


I am working on a project where we'd like to pull content from one of our legacy applications, BUT, we'd like to avoid showing the "waiting for www.somehostname.com/someproduct/..." to the user.

We can easily add another domain that points to the same server, but we still have the problem of the someproduct context root in the url. Simply changing the context root is not an option since there are hundreds of hard coded bits in the legacy app that refer to the existing context root.

What I'd like to do is be able to send a request to a different context root (Say /foo/bar.do), and have it actually go to /someproduct/bar.do, (but without a redirect, so the browser still shows /foo/bar.do).

I've found a few URL rewriting options that do something similar, but so far they seem to all be restricted to catching/forwarding requests only to/from the same context root.

Is there any project out there that handles this type of thing? We are using weblogic 10.3 (on legacy app it is weblogic 8). Ideally we could host this as part of the new app, but if we had to, we could also add something to the old app.

Or, is there some completely different solution that would work better that we haven't though of?

Update: I should mention that we already originally suggested using apace with mod_rewrite or something similar, but management/hosting are giving the thumbs down to this solution. :/

Update 2 More information:

The places where the user is able to see the old url / context root have to do with pages/workflows that are loaded from the old app into an iframe in the new app.

So there is really nothing special about the communication between the two apps that client could see, it's plain old HTTPS handled by the browser.


Solution

  • I think you should be able to do this using a fairly simple custom servlet.

    At a high level, you'd: