2011-07-02 3 views
4

업데이트 :이 버그는 Chrome에서만 브라우저 특정 것으로 보입니다. 나는 파이어 폭스와 IE에서 각각 약 50 번 링크를 클릭했는데 그것을 일으키는 것처럼 보일 수 없다. 또한 일단 발생하면 FF 또는 IE로 전환 할 수 있으며 그 둘에서 정상적으로 작동합니다.Sporadic 400 잘못된 요청 오류 ngorx/0.7.67 with Heroku and Rails 3

잠시로드되는 heroku의 레일즈 3 애플리케이션에 특정 페이지가 있습니다. 같은 페이지를 클릭해도 문제없이로드됩니다. 하지만 특정 수의로드가 끝나면 갑자기 그 아래에 nginx/0.7.67이 포함 된 400 개의 잘못된 요청 오류가 발생하기 시작합니다.

한 번 발생하면 페이지를로드 할 때마다 400 오류가 발생합니다. 그러나 예를 들어 밤새 잠시 애플리케이션을 방치하면 페이지가 잠시 아침에 다시 작동합니다. 페이지를 몇 번 클릭하면 오류가 다시 발생합니다.

그것은 국부적으로 발생하는 것이 아니기 때문에 영웅 문제 여야합니다.

나는 또한 heroku를 다시 시작하려고했지만 도움이되지 않습니다. 도움이되는 유일한 방법은 약간의 시간을주는 것입니다.

heroku 로그는 오류까지 새로운 정보를 알려주지 않습니다. 모든 것이 잘 작동하는 것처럼 보인 다음 끝나는 줄이 생깁니다. https | 400 그리고 그것은 단지 멈춘다.

도움이되는 경우 https를 사용하고 있습니다.

전체 오류 Heroku가 로그는 다음과 같습니다

[33m2011-07-02T15:25:59+00:00 heroku[nginx]: <-[0m GET /matters/show/34 HTTP/1.1 | 10.212.125.194 | 727 | https | 400 

날 당신은 아이디어가있는 경우이 문제를 해결하는 데 도움이 것이 페이지에서 어떤 코드를 알려주십시오.

답변

4

그래서 Heroku 지원 스태프와 오랜 시간이 지난 후에 우리는 마침내 문제를 발견했습니다. 나는 내 사이트 주변의 다양한 장소에서 Datatables를 사용하고 쿠키를 사용하여 사용자 상태 설정을 저장하고있었습니다. 쿠키가 NGINX (8K)가 허용하는 최대 헤더 크기를 초과 할 때까지 사용자가 사이트를 탐색 할 때 쿠키가 길어지고 길게 늘어났습니다.

해결책은 쿠키를 제거/단순화하거나 nginx Heroku (대나무)에서 nginx (시더)를 사용하지 않는 Heroku 스택으로 전환하는 것이 었습니다.

+0

감사합니다. 이것은 정확히 내가 경험했던 것과 같은 문제입니다. – Catharz