如何使用Rack Middleware代理AJAX请求?

Ada*_*sek 6 ajax reverse-proxy ruby-on-rails sinatra ruby-on-rails-3

我正在开发一个Rails应用程序,它使用API​​后端来处理用Sinatra编写的AJAX请求.

API与Rails分开运行:

Rails: localhost:3000
API: localhost:9393

在生产中,我们将使用nginx代理对API的请求.

问题是我们在开发模式下没有nginx,我们使用的是瘦身.所以我需要某种Rack中间件,我可以在开发模式中添加它来代理我的请求.

有人能给我一个如何做到这一点的例子吗?

min*_*omi 5

也许Rack :: Proxy:

http://coderack.org/users/cwninja/middlewares/18-rackproxy

use Rack::Proxy do |req|
  if req.path =~ %r{identify api request with regex here}
    URI.parse("http://localhost:9393/#{req.fullpath}")
  end
end
Run Code Online (Sandbox Code Playgroud)

  • 这会去哪儿?在`config.ru`?在初始化程序中? (3认同)