페이지 편집시 다음과 같은 에러 메시지가 발생하며 수정하던 페이지를 날렸던 적이 자주 있었다.

 

"Your request could not be processed because a required security token was not present in the request. You may need to resubmit the form or reload the page."

 

저장을 누르면 로그인 창이 뜨고 로그인을 하면 편집했던 draft 는 다 사라져서 허탈하게 만들었는데 오늘 또 그런 현상이 발생해서 https://answers.atlassian.com/ 에서 사례가 있는지 찾아보았다.

위 메시지를 키워드로 넣으니 기존 문의 내역이 있었고 동일한 현상이였다.

 

원인은 apache httpd 2.2 와 tomcat 을 쓸 경우에만 발생하며 apache httpd 의 모듈인 mod_proxy 내에 ProxyIOBufferSize  라는 변수가 있는데 httpd 와 tomcat 사이에 chunked data 전송시 사용할 버퍼의 크기를 지정하는데

매뉴얼에는 기본값이 8192 인데 실제로는 지정하지 않으면 사이즈가 정의되지 않아서 문제가 된다고 한다.


해결책은 httpd 의 confluence 가 연결되어 있는 VirtualHost 설정에 다음과 같이 명시적으로 ProxyIOBufferSize  를 지정하고 httpd 를 재구동하면 된다.

ProxyIOBufferSize 8192


아마 저걸 디버깅하기 위해서는 apache httpd 의 소스도 분석했어야 했을 것 같은데 atlassian 의 support team 의 기술력도 대단한 것 같다.

Ref

 





blog comments powered by Disqus