共有ホスティング アカウントで ssl_requirements プラグインを使用しています。このホスティング プロバイダーは、Passenger を使用して Rails を管理しています。SSLを必要とするページに移動しようとするまで、すべてが正常に機能します(ssl_required
フィルターを追加することによって強制されます)。これが発生すると、Passenger がクラッシュし、500 エラーが返されます。エラーは次のとおりです。
Passenger encountered the following error:
The application spawner server exited unexpectedly: Broken pipe
Exception class:
PhusionPassenger::Railz::ApplicationSpawner::Error
基本的なシナリオは次のとおりです。
- ユーザーは http を使用して非機密データを参照しています。
- ユーザーがサインアップ フォームに移動します (https が必要です)。
- Ssl_requirement は、ユーザーが適切なプロトコルを使用していないことを確認し、https を使用する URL にリダイレクトします。
- Passenger はこのリクエストを受け取り、新しい Rails アプリケーションを生成しようとします。
- spawn_applicationメソッドを使用すると、エラーが発生してクラッシュする
問題は、問題が発生している場所がわからないことです。https プレフィックスを手動で入力でき、問題なく動作するため、https で問題になるとは思いません。問題は ssl_requirement プラグインか、パッセンジャーがこの新しい https リクエストを処理する方法にあると思います。
皆さんは、このようなシナリオに遭遇したことがありますか? もしそうなら、これを解決するためにいくつかのリソースを指摘できますか?
ありがとう。