在 Rails 中调用 _url 助手时,它将返回 host+port+path 例如
photo_url
将返回
http://localhost:3000/photo
在我的生产环境中,我在给定端口上为 rails 应用程序提供瘦服务,而在另一个端口上提供静态内容的 apache。当站点在没有任何端口的情况下被访问时,每个服务器都知道要处理的部分并且一切都很好。但是,如果给定了特定端口,则只有请求的服务器会发送响应(这是预期的)。
我现在遇到了麻烦,因为当我通过 oauth2 (facebook, twitter) oder openid 对用户进行身份验证时,我需要发送一个回调 url。我使用的 gem(OmniAuth)使用 _url 助手(据我所知)(callback_url)来计算回调 url。由于附加的端口号,这导致对进一步请求的响应很薄弱。
有没有办法告诉 Rails,它没有在任何特定端口上运行?或者它不使用 _url 助手中的端口号?