2
我正試圖允許在類似於shopify的rails web應用程序上的單個ruby上託管多個客戶域。將需要SSL證書,以便需要多個IP。我應該如何去做這件事?我應該創建一個功能來爲每個域在Apache中創建新的VirtualHost?嘗試在RoR應用程序上託管多個客戶域
我正試圖允許在類似於shopify的rails web應用程序上的單個ruby上託管多個客戶域。將需要SSL證書,以便需要多個IP。我應該如何去做這件事?我應該創建一個功能來爲每個域在Apache中創建新的VirtualHost?嘗試在RoR應用程序上託管多個客戶域
有兩種配置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文檔描述了各種各樣的樂趣。
謝謝。會給這個鏡頭。 :) – Fretta 2012-05-02 04:54:02