我在服务器上运行了多个rails应用程序。每个人都在一个港口(例如:8001,8002,8003,......)。
我想创建另一个rails应用程序,它将充当其他人的代理。代理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不是一个选项。谁知道怎么做?
答案 0 :(得分:2)
您可以在Application Controller中或通过routes.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
}