https を使用しようとすると乗客がクラッシュする
-
11-09-2019 - |
質問
共有ホスティング アカウントで 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 にユーザーをリダイレクトします。
- 乗客はこのリクエストを受け取り、新しい Rails アプリケーションを生成しようとします。
- を使用するときは、 spawn_application メソッドがエラーに遭遇してクラッシュする
問題は、どこで問題が発生しているのかわからないことです。https プレフィックスを手動で入力すると問題なく動作するため、https に関しては問題ないと思います。この問題は、ssl_requirement プラグインか、乗客がこの新しい https リクエストを処理する方法のいずれかにあると思います。
皆さんもこのような場面に遭遇したことはありますか?もしそうなら、これを解決するためのリソースをいくつか教えていただけますか?
ありがとう。
解決
このおそらく旅客エラーを取得しています
あなたが卵を使用していることを考えると、それは理由は、おそらくです - 。卵は、全く新しいRailsのプロセスを作成します。
新しいアプリのインスタンスを産卵関与していない何かをしてみてください。しかし私はそれがSSLの問題ではないことを賭けるだろう。
他のヒント
あなた自身のバーチャルホストApacheの設定へのアクセスを持っていますか?もしそうなら、私はあなたの代わりにssl_requirementを使用しての、リダイレクトディレクティブを使用したHTTPS URLへのHTTP URLからリダイレクトするように設定することをお勧めします。私は旅客で、そうやった、と物事はうまく動作します。 (乗員がHTTPSやSSLの取り扱いには問題ありません。私の推測では、ssl_requirementプラグインと旅客との間には、互換性である。)