У меня есть приложение rails, которое обеспечивает функциональность в реальном времени через Faye. Мои клиенты собираются получить доступ к серверу Faye через example.com:9292/faye. Вместо того, чтобы использовать этот адрес и открывать открытые порты моей машины, я пытаюсь добавить промежуточное ПО стойки и используя «стойку-прокси», прокси-сервер example.com/faye просит example.com:9292/faye , Мой Rails код промежуточного слоя выглядит следующим образом:Использование стойки-прокси с Rails для доступа к Faye
class FayeProxy < Rack::Proxy
def rewrite_env(env)
request = Rack::Request.new(env)
if request.path =~ %r{^/faye}
env["HTTP_HOST"] = "localhost:9292"
end
env
end
end
Также я добавил к промежуточному к конфигурации/application.rb по config.middleware.use "FayeProxy"
, но когда я запускаю мой сервер Рельсы я получаю следующее сообщение об ошибке:
/gems/ruby-1.9.3-p194/gems/rack-proxy-0.5.0/lib/rack/proxy.rb: 12: in 'initialize': undefined method `key? ' для # (NoMethodError)
и даже если удалить meta_request камень я буду получать
*/камни/рубин-1.9.3-Р194/драгоценные камни/стойку прокси-0.5.1/Библиотека/стойки/proxy.rb: 12: in initialize': undefined method
ключ? для # (NoMethodError) *
Любая помощь действительно оценена, если кто-либо испытал это раньше или знает решение.
P.s. Я использую Rails 3.2.13, стойку 1.4.5, стойку-прокси 0.5.1.