Behind the scenes my app runs like this:

  http://myapp.mydomain.com/myapp and
    and
  https://myapp.mydomain.com/myapp
    are Apache 2.2 virtual hosts proxy-balanced to a mongrel cluster
on the same machine.

But I need to make these available here:

  https://www.mydomain.com/myapp
    and
  https://myapp.mydomain.com/myapp
    are on a second server using ProxyPass and ProxyPassReverse to
point to the first

Unfortunately the second server is running Apache 2.0 or I'd do the
proxy balancing there. I assure you that getting the proxying, the
subfolder, and various necessary transitions between HTTP and HTTPS
working is collectively no fun at all. But I'm writing about a
particular problem:

In my routes I have

    HTTPS_PROTOCOL = (Rails.env.production? || Rails.env.test?) ?
"https" : "http"

    map.with_options :protocol => HTTPS_PROTOCOL do
        map.resource :session, :requirements => {:protocol =>
HTTPS_PROTOCOL}
        map.logout '/logout', :controller => 'sessions', :action =>
'destroy'
        map.login  '/login', :controller => 'sessions', :action =>
'new'
    end

In my views I make reference to login_path and logout_path and these
correctly form fully-qualified absolute URLs which include the https://
protocol directive. But **they point to the wrong server**. I am
supposed to get https://www.mydomain.com/myapp/login but instead I get
https://myapp.mydomain.com/myapp/login.

What do I have to do to get Rails to generate these route urls with
the proxy domain instead of request.host?

Thanks,

Sven

--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to