Reverse Proxy (mod_rewrite) and Rails (absolute paths)
- by SooDesuNe
I have front end rails app, that reverse proxies to any of a number of backend rails apps depending on URL, for example
http://www.my_host.com/app_one reverse proxies to http://www.remote_host_running_app_one.com
such that a URL like http://www.my_host.com/app_one/users will display the contents of http://www.remote_host_running_app_one.com/users
I have a large, and ever expanding number of backends, so they can not be explicitly listed anywhere other than a database. This is no problem for mod_rewrite using a prg:/ rewrite map reverse proxy.
The question is, the urls returned by rails helpers have the form /controller/action making them absolute to the root. This is a problem for the page served by mod_rewrite because links on the proxied page appear as absolute to the domain. i.e.:
http://www.my_host.com/app_one/controller/action has links that end up looking like /controller/action/ when they need to look like /app_one/controller/action
mod_proxy_html seems like the right idea, but it doesn't seem to be as dynamic as I would need, since the rules need to be hard coded into the config files.
Is there a way to fix this server-side, so that the links will be routed correctly?