shopify に似た単一の Ruby on Rails Web アプリケーションで複数の顧客ドメインのホスティングを許可しようとしています。SSL証明書が必要になるため、複数のIPが必要になります。これを行うにはどうすればよいですか?ドメインごとに Apache で新しい VirtualHosts を作成する機能を作成する必要がありますか?
質問する
145 次
1 に答える
0
の一部としてドメインを使用するように Rails を構成する方法はいくつかありますがconfig/routes.rb
、私が最近 HTTP で使用した方法の 1 つは、Rack ミドルウェアとしてリライトを適用し、便宜上Rack-rewrite gem を使用してコードを初期化子として挿入し、名前空間。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
デフォルトと同じ場合は不要です。
もちろん、リライトを同じ名前空間にポイントするか、名前空間をまったく指定せずに、他の方法に基づいてロジックを実行することもできます。ラック書き換えのドキュメントには、あらゆる種類の楽しみが説明されています。
于 2012-04-28T00:04:30.770 に答える