2010-08-06 4 views
3

여기 거래가 있습니다.레일즈 무효 정품 랜덤 시간

우리의 응용 프로그램이 작동하고 작가가 웹 사이트의 콘텐츠를 보내기 위해 사용 중입니다. 문제는 때때로 사이트에있는 모든 rescource에 대한 양식을 제출 한 후 작성자에게 오류가 발생합니다. 프로덕션 로그를 확인한 후에 오류가 발생한 것은 오래된 InvalidAuthenticityToken이었습니다.

문제는 토큰을 변경하지 않고 양식을 무효화하지 않으며 편집자에게 글쓰기를하고 제출을 클릭한다는 것입니다.

오류가 완전히 임의적 인 것처럼 보일 때가 있는데 때로는 그렇지 않습니다./ POST 나 PUT 요청 중 하나를 편집하거나 항목을 만들 때 발생하는 문제입니다. 응용 프로그램의 특정 영역에 있지는 않습니다. 결국에는 결국 우리 양식 전체에 수시로 발생합니다.

우리 환경은 20 개의 잡종이있는 mongrel_cluster를 제공하는 HAProxy입니다. 레일 버전이 2.3.8

다른 잡종의 세션에서 문제가 될 수 있습니까? 그렇지 않은 경우,이 무작위 오류를 막기 위해 무엇을해야할까요? 작성자가 텍스트를 편집하는 데 많은 시간을 낭비하고 지루한 오류로 인해 단순히 텍스트를 잃어 버리는 경우가 있습니다.

정말 감사드립니다.

+0

어딘가에 대해서도 같은 문제를 읽었을 것입니다. 아마도 약간의 버그 일 것입니다. – Bohdan

답변

3

문제는 내가 예상했던 것보다 훨씬 간단했습니다.

세션 타이머는 900 초로 설정되어 있으며 웹에서 다른 탐색없이 동일한 페이지 내의 텍스트를 편집하는 것보다 작성자가 시간이 오래 걸리는 경우가 있습니다.

시간 초과로 인해 세션이 무효화 된 다음 양식이 제출되면 Authenticity 토큰의 세션 부분이 재설정되어 InvalidAuthenticityToken 오류가 발생합니다.

+0

나는 임의의 시간에도 이걸 얻었습니다. 해당 세션 타이머를 어떻게 업데이트합니까? – johnnymire

+1

환경의 환경 파일에서 config.action_controller.session 해시를 사용하여 만들어집니다. – Draiken