incidente passeggero quando si cerca di usare https
-
11-09-2019 - |
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:
- l'utente sta usando HTTP per sfogliare i dati non sensibili.
- utente va al modulo di iscrizione (in cui è richiesta https)
- Ssl_requirement vede che l'utente non sta usando il protocollo corretto e li reindirizza a un URL che utilizza HTTPS.
- passeggero riceve la richiesta e cerca di generare una nuova applicazione rotaie.
- 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.
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.)