Question

J'utilise le plugin ssl_requirements compte d'hébergement partagé. Ce fournisseur d'hébergement utilise passagers pour gérer Rails. Tout fonctionne bien jusqu'à ce que j'essaie d'aller à une page qui nécessite ssl (appliquée en ajoutant le filtre ssl_required). Lorsque cela se produit des accidents de passagers et renvoie une erreur 500. L'erreur se lit comme suit:

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

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

Voici un scénario de base:

  1. L'utilisateur utilise le protocole HTTP pour parcourir les données non sensibles.
  2. L'utilisateur va au formulaire d'inscription (où https est nécessaire)
  3. Ssl_requirement voit que l'utilisateur n'utilise pas le protocole approprié et les redirige vers une URL qui utilise https.
  4. passager reçoit cette demande et tente de frayer une nouvelle application de rails.
  5. Quand il utilise le méthode spawn_application il rencontre une erreur et se bloque

Le problème est que je ne sais pas où le problème se produit. Je ne pense pas que cela pourrait être un problème avec https parce que je peux saisir manuellement le préfixe https et les choses vont bien. Je crois que question se trouve soit dans le plugin ssl_requirement ou les poignées passager façon dont cette nouvelle demande https.

Avez-vous les gars jamais rencontré un tel scénario? Si oui pourriez-vous indiquer quelques ressources pour régler cette question?

Merci.

Était-ce utile?

La solution

Vous obtenez probablement l'erreur de passagers parce que DreamHost a tué votre application pour utiliser trop de mémoire.

Étant donné que vous utilisez spawn, qui est probablement la raison -. Spawn crée un nouveau processus Rails ensemble

Essayez de faire quelque chose qui ne comporte pas fraie une nouvelle instance de l'application. Je parie cependant que ce n'est pas une question de SSL.

Autres conseils

Avez-vous accès à votre propre configuration Apache hôte virtuel? Si oui, alors je vous recommande de configurer que pour rediriger de l'URL http à l'URL https en utilisant la directive Redirect, au lieu d'utiliser ssl_requirement. Je l'ai fait, avec des passagers, et les choses fonctionnent très bien. (Il n'y a donc pas de problème avec la gestion des passagers ou https ssl. Je suppose une certaine incompatibilité entre le plugin ssl_requirement et passager).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top