2012-04-27 53 views
2

我正試圖允許在類似於shopify的rails web應用程序上的單個ruby上託管多個客戶域。將需要SSL證書,以便需要多個IP。我應該如何去做這件事?我應該創建一個功能來爲每個域在Apache中創建新的VirtualHost?嘗試在RoR應用程序上託管多個客戶域

回答

0

有兩種配置Rails的使用領域爲config/routes.rb部分的各種方式,但一個方式,我最近使用的HTTP是應用改寫爲Rack中間件,插入代碼使用rack-rewrite寶石爲了方便的初始化,並指向一個名字空間。我想你可以使用類似的起點爲HTTPS。

添加到Gemfile

gem 'rack-rewrite' 

添加爲需要它的初始化,加載任何東西之前,如config/initializers/0_rack_rewrite.rb

Unshopify::Application.config.middleware.insert_before(Rack::Lock, Rack::Rewrite) do 
    rewrite %r{.*}, "/unshopify$&", :not => %r{/assets.*}, :host => "unshopify.example.com" 
end 

添加到config/routes.rb

namespace :unshopify, :path => 'unshopify' do 
    resource :statics, :only => [:home] 

    root :to => 'statics#home' 
end 

的我不需要:path f它與命名空間的默認值相同。

當然,您可以將重寫指向相同的名稱空間,或根本不指定名稱空間,然後根據其他方法執行邏輯。 rack-rewrite文檔描述了各種各樣的樂趣。

+0

謝謝。會給這個鏡頭。 :) – Fretta 2012-05-02 04:54:02

相關問題