john.h.jenkins-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2006-Sep-21 21:24 UTC
Apache proxypass messes up my link_to''s
Hey all, Ive got some heavy restrictions on a site I''m building. I have to serve my rails app from a different machine than my web server. The webserver *must* use apache, and I cant muck with its configuration too much, other than to modify the httpd.conf file a bit. I don''t know much about Apache, but I found a little gem called proxypass that seemed to get me a little closer to the final solution. The rails server machine is completely configurable by me, so that''s the good news. I used Apache proxypass and proxypassreverse in order to be able to access my rails machine like so: http://thewebserver.com/myapp/controller/action/id. This works fine, except all of my link_to''s and redirect_to''s are now 404s as they point straight to http://thewebserver.com/controller/action/id. Am I missing something? I may be misusing proxypass for all I know. I was hoping some of y''all had come across something like this before. The bottom of my httpd.conf looks like this: ProxyPass /myapp/ http://myrailsserver:3000/ ProxyPass /myapp http://myrailsserver:3000/ ProxyPassReverse /myapp/ http://myrailsserver:3000/ I''m using webrick as the http server for rails for now, but plan to move to mongrel once I get this solved. Thanks in advance, John --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
john.h.jenkins-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org wrote:> > Hey all, > > Ive got some heavy restrictions on a site I''m building. I have to serve > my rails app from a different machine than my web server. The webserver > *must* use apache, and I cant muck with its configuration too much, > other than to modify the httpd.conf file a bit. I don''t know much about > Apache, but I found a little gem called proxypass that seemed to get me > a little closer to the final solution. The rails server machine is > completely configurable by me, so that''s the good news. > > I used Apache proxypass and proxypassreverse in order to be able to > access my rails machine like so: > http://thewebserver.com/myapp/controller/action/id. This works fine, > except all of my link_to''s and redirect_to''s are now 404s as they point > straight to http://thewebserver.com/controller/action/id. > > Am I missing something? I may be misusing proxypass for all I know. I > was hoping some of y''all had come across something like this before. > The bottom of my httpd.conf looks like this: > > ProxyPass /myapp/ http://myrailsserver:3000/ > ProxyPass /myapp http://myrailsserver:3000/ > ProxyPassReverse /myapp/ http://myrailsserver:3000/ > > I''m using webrick as the http server for rails for now, but plan to > move to mongrel once I get this solved. >You should put the following line in environment.rb: ActionController::AbstractRequest.relative_url_root = ''/myapp'' I once documented this at <http://wiki.rubyonrails.org/rails/pages/HowtoSetupApacheProxyingToLighttpdWithFastCGI>. That wiki entry was written for Lighttpd, but the relative_url_root part works with webrick too. Bart --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
john.h.jenkins@... <john.h.jenkins@...> writes:> I used Apache proxypass and proxypassreverse in order to be able to > access my rails machine like so: > http://thewebserver.com/myapp/controller/action/id. This works fine, > except all of my link_to''s and redirect_to''s are now 404s as they point > straight to http://thewebserver.com/controller/action/id.Your directory structure should be something like this.. /public_html /myapp --> /any/path/public [other live files] /any/path/app /any/path/components [...] /any/path/public [...] I.e. use a symlink to the Rails public directory, which can be anywhere on the machine (ideally not in a web-accessible directory) Then, the rails helpers will all work as you expect, automatically. Gareth --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
There''s a plugin to solve this problem - works like a charm. See http://www.napcsweb.com/blog/2006/05/10/reverse-proxy-fix-plugin/ for information and and the install. c. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---