Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails应用程序作为多个Rails应用程序的代理_Ruby On Rails_Ruby_Routing - Fatal编程技术网

Ruby on rails Rails应用程序作为多个Rails应用程序的代理

Ruby on rails Rails应用程序作为多个Rails应用程序的代理,ruby-on-rails,ruby,routing,Ruby On Rails,Ruby,Routing,我在一台服务器上运行了多个rails应用程序。一个端口上的每个端口(例如:8001、8002、8003等) 我想创建另一个rails应用程序,作为其他应用程序的代理。例如,proxy rails应用程序将在域www.example.com的端口8000处运行,并根据请求执行以下操作: www.example.com:8000/app1-将请求传递给在端口8001上运行的应用程序 www.example.com:8000/app2-将请求传递给在端口8002上运行的应用程序 www.example

我在一台服务器上运行了多个rails应用程序。一个端口上的每个端口(例如:8001、8002、8003等)

我想创建另一个rails应用程序,作为其他应用程序的代理。例如,proxy rails应用程序将在域www.example.com的端口8000处运行,并根据请求执行以下操作:

www.example.com:8000/app1-将请求传递给在端口8001上运行的应用程序

www.example.com:8000/app2-将请求传递给在端口8002上运行的应用程序

www.example.com:8000/app3-将请求传递给在端口8003上运行的应用程序


我知道这在apache中是可能的,但在我的情况下,apache不是一个选项。有人知道怎么做吗?

您可以在应用程序控制器中或通过yor
路由进行操作。rb

match "/:app", :to => redirect{ |params|
  case params[:app] 
  when "app1"
    "http://www.example.com:8001/"
  when "app2"
    "http://www.example.com:8002/"
  when "app3"
    "http://www.example.com:8003/"
  end
} 

为什么不使用nginx、apache或其他任何东西?有了Rails,您会遇到性能问题。这在Rails3上非常有效。你知道rails 2的替代方案吗?非常感谢你。