Confluence 페이지 편집시 Security Token Error
페이지 편집시 다음과 같은 에러 메시지가 발생하며 수정하던 페이지를 날렸던 적이 자주 있었다.
"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
- https://answers.atlassian.com/questions/218903/security-token-error-message
- https://jira.atlassian.com/browse/CONF-23148