Domanda

Sto usando le ssl_requirements plugin su account di hosting condiviso. Questo fornitore di hosting utilizza passeggeri per gestire Rails. Tutto funziona bene fino a quando cerco di andare ad una pagina che richiede SSL (recepita con l'aggiunta del filtro ssl_required). Quando questo accade si blocca passeggeri e restituisce un errore 500. L'errore si legge:

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

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

Ecco uno scenario di base:

  1. l'utente sta usando HTTP per sfogliare i dati non sensibili.
  2. utente va al modulo di iscrizione (in cui è richiesta https)
  3. Ssl_requirement vede che l'utente non sta usando il protocollo corretto e li reindirizza a un URL che utilizza HTTPS.
  4. passeggero riceve la richiesta e cerca di generare una nuova applicazione rotaie.
  5. Quando si utilizza il metodo spawn_application incontra un errore e si blocca

Il problema è che io non so dove si verifica il problema. Non credo che potrebbe essere un problema con https perché posso digitare manualmente il prefisso https e le cose funzioneranno bene. Credo che problema risiede nella sia il plugin ssl_requirement o il modo in cui gestisce passeggeri questa nuova richiesta HTTPS.

Avete ragazzi mai incontrato uno scenario come questo? Se è così si potrebbe indicare alcune risorse per ottenere questo risolto?

Grazie.

È stato utile?

Soluzione

Probabilmente stai ricevendo l'errore passeggeri perché DreamHost ha ucciso la vostra applicazione per l'utilizzo di troppa memoria.

Dato che si sta utilizzando deporre le uova, che è probabilmente la ragione -. Uova crea un nuovo processo di Rails

Prova a fare qualcosa che non comporta la deposizione delle uova una nuova istanza app. Sono pronto a scommettere però che non è una questione di SSL.

Altri suggerimenti

Avete accesso alla propria configurazione di Apache host virtuale? Se è così, allora vi consiglio di configurare che per reindirizzare dall'URL http all'URL HTTPS usando la direttiva di reindirizzamento, invece di utilizzare ssl_requirement. Ho fatto in modo, con il passeggero, e le cose funzionano bene. (Quindi non c'è nessun problema con la gestione di passeggeri https o SSL. La mia ipotesi è certa incompatibilità tra il plugin ssl_requirement e passeggero.)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top