2009-04-18 4 views
0

공유 호스팅 계정에서 ssl_requirements 플러그인을 사용하고 있습니다. 이 호스팅 제공 업체는 Passenger를 사용하여 Rails를 관리합니다. ssl (ssl_required 필터를 추가하여 적용)이 필요한 페이지로 이동하려고 할 때까지 모든 것이 제대로 작동합니다. 이 경우 승객이 충돌하고 500 오류가 다시 전송됩니다. 여기https를 사용하려고 할 때 승객 추락

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는 사용자가 적절한 프로토콜을 사용하지 않고 https를 사용하는 URL로 리디렉션한다고 봅니다.
  4. 여객이이 요청을 받고 새로운 레일스 응용 프로그램을 생성하려고 시도합니다.
  5. 그것이 오류가 발생하고

문제가 충돌 spawn_application 방법을 사용 나는 문제가 발생하는 위치를 알 수 없다는 것입니다. 수동으로 https 접두사를 입력 할 수 있기 때문에 문제가 될 수 있다고 생각하지 않습니다. 그 문제는 ssl_requirement 플러그인이나 승객이 새로운 https 요청을 처리하는 방식에 있다고 생각합니다.

혹시 이런 시나리오가 발생 했습니까? 그렇다면이 문제를 해결하기 위해 일부 리소스를 사용할 수 있습니까?

감사합니다.

답변

1

DreamHost가 너무 많은 메모리를 사용하여 응용 프로그램을 종료했기 때문에 승객 오류가 발생했을 수 있습니다.

스폰 (spawn)를 사용한다고 가정 할 때, 이것이 이유 일 것입니다. 스폰 (spawn)가 완전히 새로운 Rails 프로세스를 생성합니다.

새 앱 인스턴스를 생성하는 것을 포함하지 않는 작업을 시도해보십시오. 그러나 나는 그것이 SSL의 문제가 아니라고 확신 할 것이다.

0

가상 호스트 Apache 구성에 액세스 할 수 있습니까? 그렇다면 ssl_requirement 대신 Redirect 지정 문을 사용하여 http URL에서 https URL로 리디렉션하도록 구성하는 것이 좋습니다. 나는 승객과 함께 그렇게했다. 그리고 물건은 잘게된다. (따라서 Passenger handling https 또는 ssl에는 아무런 문제가 없습니다. ssl_requirement 플러그인과 Passenger 사이에 약간의 비 호환성이 있습니다.)

+0

이것이 내가하는 일이라고 생각하지만 어떻게 개발 환경을 설정 했습니까? – vrish88

+0

로컬 네트워크에있는 별도의 서버에 개발 환경이 있고 https가없는 다른 아파치 구성이 있습니다. 그러나 동일한 서버에 두 개의 가상 호스트를 가질 수 있습니다. 하나는 SSL이 있고 다른 하나는없는 서버입니다. –

관련 문제