Pergunta

Eu estou usando os ssl_requirements plugin em conta de hospedagem compartilhada. Este provedor de hospedagem usos de passageiros para gerenciar Rails. Tudo funciona bem até eu tentar ir para uma página que requer SSL (imposta pela adição do filtro ssl_required). Quando isso acontece acidentes de passageiros e envia de volta um erro 500. O erro lê:

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

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

Aqui está um cenário básico:

  1. usuário está usando http para navegar dados não sensíveis.
  2. Usuário vai para o formulário de inscrição (onde https é obrigatório)
  3. Ssl_requirement vê que o usuário não está usando o protocolo apropriado e redireciona para uma URL que usa https.
  4. Passageiros recebe essa solicitação e tenta gerar um novo aplicativo de trilhos.
  5. Quando se usa o spawn_application método encontra um erro e acidentes

A questão é que eu não sei onde o problema está ocorrendo. Eu não acho que poderia ser um problema com https, porque eu posso digitar manualmente o https prefixo e as coisas vão funcionar bem. Eu acredito que se encontra emitir em qualquer O plugin ssl_requirement ou a forma como alças de passageiros este novo https solicitar.

Vocês já alguma vez encontrou um cenário como este? Se assim você poderia apontar para alguns recursos para obter esta resolvido?

Graças.

Foi útil?

Solução

Você provavelmente está recebendo o erro de Passageiros porque DreamHost matou seu aplicativo para usar muita memória.

Uma vez que você estiver usando desova, que é provavelmente a razão -. Desovar cria um processo de novas Rails toda

Tente fazer algo que não envolve gerando uma nova instância do aplicativo. Eu apostaria porém, que não é uma questão de SSL.

Outras dicas

Você tem acesso à sua própria configuração do Apache host virtual? Se assim for, então eu recomendo que você configure isso para redirecionar a partir do http URL para o https URL usando a diretiva Redirect, em vez de usar ssl_requirement. Eu fiz assim, com passageiros, e as coisas funcionar muito bem. (Portanto, não há problema com Passenger manipulação https ou SSL. Meu palpite é alguma incompatibilidade entre o plugin ssl_requirement e passageiro.)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top