سؤال

أنا أستخدم البرنامج المساعد SSL_Requirements على حساب الاستضافة المشترك. يستخدم مزود الاستضافة هذا الراكب لإدارة القضبان. كل شيء يعمل بشكل جيد حتى أحاول الذهاب إلى صفحة تتطلب SSL (يتم فرضها عن طريق إضافة ssl_required منقي). عندما يحدث هذا حوادث الركاب ويرسل مرة أخرى خطأ 500. يقرأ الخطأ:

 Passenger encountered the following error:
 The application spawner server exited unexpectedly: Broken pipe

 Exception class:
 PhusionPassenger::Railz::ApplicationSpawner::Error

فيما يلي سيناريو أساسي:

  1. يستخدم المستخدم HTTP لتصفح البيانات غير الحساسة.
  2. ينتقل المستخدم إلى نموذج الاشتراك (حيث يلزم HTTPS)
  3. يرى SSL_Requirement أن المستخدم لا يستخدم البروتوكول المناسب وإعادة توجيهها إلى عنوان URL الذي يستخدم HTTPS.
  4. يتلقى الركاب هذا الطلب وحاول تفرخ تطبيق قضبان جديد.
  5. عندما يستخدم spawn_application. الطريقة التي يواجهها خطأ وتعطل

المشكلة هي أنني لا أعرف من أين تحدث المشكلة. لا أعتقد أنه قد يكون مشكلة في https لأنني يمكنني كتابة بادئة HTTPS يدويا وسوف تعمل الأشياء بشكل جيد. أعتقد أن هذه القضية تكمن في البرنامج المساعد SSL_REQUEREMENT أو الطريقة التي يعالجها المسافر هذا طلب https الجديد.

هل واجهت يا رفاق سيناريو مثل هذا؟ إذا كان الأمر كذلك فهل يمكنك الإشارة إلى بعض الموارد للحصول على هذا حلها؟

شكرا.

هل كانت مفيدة؟

المحلول

ربما تحصل على خطأ الركاب لأن Dreamhost قتل تطبيقك لاستخدام الكثير من الذاكرة.

بالنظر إلى أنك تستخدم تفرخ، فإن هذا هو السبب - تفرخ يخلق عملية قضبان جديدة كاملة.

حاول القيام بشيء لا ينطوي على تفريغ مثيل تطبيق جديد. وأود أن أظن أنه ليس مسألة SSL.

نصائح أخرى

هل لديك حق الوصول إلى تكوين Apache المضيف الافتراضي الخاص بك؟ إذا كان الأمر كذلك، فأود أن أوصي بتكوين ذلك للإعادة التوجيه من عنوان URL HTTP إلى عنوان URL HTTPS باستخدام توجيه إعادة توجيه، بدلا من استخدام SSL_Requirement. لقد فعلت ذلك، مع الركاب، والأشياء تعمل على ما يرام. (لذلك لا توجد مشكلة في معالجة الركاب HTTPS أو SSL. تخميني هو بعض عدم التوافق بين البرنامج المساعد والركاب SSL_Requirement.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top