12

ssl_requirementプラグインと組み合わせて、一部のルートに HTTPS を使用するアプリケーションがあります。デプロイされ、本番環境で正常に動作しています。

問題は、開発中にこれをどのように処理するのが最善かということです。現時点では、キーroutes.rbを削除するためにハッキングしているだけ:requirementsであり、明らかにそれはあまり便利でもエレガントでもないからです。

map.resource :session, :controller => 'session',
                       :only => [:new, :create, :destroy],
                       :requirements => { :protocol => 'https' }

理想的には、開発中のアプリケーションの安全な部分を変更せずに Mongrel で実行できるようにしたいと考えています。どうすればこれを達成できますか?Mac OS X を使用しています。

4

2 に答える 2

8

開発中の SSL について心配する必要はありません

開発環境 (IMO) の場合、SSL を実行する必要はありません。特にチームに参加する人が増えるにつれて、時間や手間をかける価値はありません。ルートに関してはhttp、開発環境と同じようにプロトコルを維持します。

protocol = Rails.env.development? ? "http" : "https"

map.resource :session, :controller => 'session',
                       :only => [:new, :create, :destroy],
                       :requirements => { :protocol => protocol }

ここで、SSL 統合をテストする必要があるのは、ステージング環境(本番環境にデプロイする直前にデプロイする場所) です。これは、本番環境を正確に複製したい場所です。このように、開発環境が本番環境と一致する必要はありません。

于 2010-01-22T19:46:01.230 に答える
7

Rails アプリがより複雑になり、SSL などの高度な機能を使用したい場合は、運用環境により近い開発環境に切り替えることが最善の策です。これにより、独自の SSL 証明書を作成し、ユーザーがアプリケーションを使用する方法を反映した方法でテストすることができます。

本番環境で使用しているものと同じ Web サーバーに移動することをお勧めします。これは、apache/passenger です。

関連する質問で... SSL を使用してテスト環境をどのように管理していますか? このために、私は現在、あなたがやっているようにルートをハックしています。より良い方法はありますか?

于 2010-01-22T18:33:30.047 に答える