ruby-on-rails - 如何使用机架中间件代理 AJAX 请求?

标签 ruby-on-rails ajax ruby-on-rails-3 sinatra reverse-proxy

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

API 与 Rails 分开运行:

rails : localhost:3000 API: localhost:9393
在生产中,我们将使用 nginx 代理对 API 的请求。

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

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

最佳答案

也许机架::代理:

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

关于ruby-on-rails - 如何使用机架中间件代理 AJAX 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8811413/

相关文章:

jquery - Ajax beforeSend 在 Rails 上只能运行一次

ruby-on-rails - Ruby on Rails - 第一个应用程序 - 没有创建index.html

ruby-on-rails - Rails API 空请求 header

javascript - 如何检索 AJAX 请求返回的数据

javascript - JSONP 请求和 AJAX 请求有什么区别?

ruby-on-rails - Rails 3.1.0.rc5 Rake 问题

ruby-on-rails - AWS S3,回形针缺少必需的 :bucket option

javascript - 如何使用 ng-submit 获取从表单发送的 ajax 调用(url)?

ruby - 如何对 f.select 进行排序?

ruby-on-rails - 编辑表单路由 - 在更新提交时运行#show 方法而不是#update