Http11NioProtocol사용시 Http 응답 실패 및 505 Http Version Not Found Exception 현상
Web service 2011. 1. 21. 15:00Tomcat 에서 protocol을 org.apache.coyote.http11.Http11NioProtocol 을 사용하는 상황에서 응답을 무시하거나 505 HTTP Version Not Found Exception이 발생되었다.
6.0.20버젼으로 다운그레이드하니 Exception 발생이 안된다..
원인은 Nio connnector 연결 관련해서 처리 코드가 잘못하였다. 그래서, 505 Http Version Not Found Exception이 발생되었을 뿐 아니라. Async Http 연결을 처리하는 부분에서 문제가 있었다.
관련 50505 버그는 Blank responses (이슈 https://issues.apache.org/bugzilla/show_bug.cgi?id=50072) 문제와 함께 처리되었다.
문제가 되는 버젼은 다음과 같다.
- tomcat 6.0.21~29, tomcat 7.0.1~ 7.0.4까지
톰캣은 6.0.30와 7.0.5에서 패치되었다.
http://tomcat.apache.org/tomcat-6.0-doc/changelog.html
50072: NIO connector can mis-read request line if not sent in a single packet. (markt/kkolinko)
http://tomcat.apache.org/tomcat-7.0-doc/changelog.html
50072: Fix issues when using a non-blocking read for the request line with the NIO connector that could result in the request line being mis-read. (markt)
패치 내용은 소켓상태에 대한 처리와 패킷 파싱하는 부분이다.
Index: java/org/apache/coyote/http11/Http11NioProtocol.java
|
'Web service' 카테고리의 다른 글
오늘 IE9 RC (Release Candidate) 나왔습니다 (0) | 2011.02.11 |
---|---|
대용량 서비스에서의 Tomcat Session Clustering의 한계? (0) | 2011.02.09 |
Tomcat 6.0.x 소스 빌드 (0) | 2011.01.06 |
Tomcat server startup (0) | 2010.11.29 |
Pro Spring 2.5 소스 코드 (0) | 2010.09.25 |