본문 바로가기

WEB-SERVER/OHS & JBCS & Apache

[Apache,JBCS] max-ajp-packet-size

728x90

https://dodomain93.tistory.com/142

 

packet

Data를 전달할 때 사용하는 "작은 데이터 조각" 브라우저가 서버에 아래와 같은 요청을 보낸다 생각해보자.GET /index.jsp HTTP/1.1Host: test.comCookie: sessionid=xxxxx 이런 데이터가 네트워크로 전송되는데,

dodomain93.tistory.com

 

JBoss 와 Apache http server와 연동하는 방법으로 사용하는 AJP 프로토콜의 경우,

default packet size가 8192 byte (=8KB)이다.

 

다만 요즘 웹의 경우 데이터가 과거에 비해 많이 커졌는데,

SSO 인증이나, JWT, 그리고 인증 토근 같이 쿠키 값이 크거나,

HTTP Header가 큰 경우에는 8KB를 넘는 경우가 생긴다.

그러면 이러한 에러가 발생할 수 있다.

ajp_ilink_receive() can't receive header
packet too large

또는

request header too large

 

이 문제를 해결하기 위해 packet 값을 늘려야 하는데, 이 때 수정하는 옵션이 max-ajp-packet-size이다.

 

[설정 방법]

[JBoss]
Configuration⇒Subsystems/Subsystem⇒Web/Settings⇒Server/Server⇒default-server
Listener- AJP Listener -> max_ajp_packet_size

[Apache & JBCS]
workers.properties 내에 max_packet_size 값 명시

 

JBoss

 

 

JBoss 상에서 Max AJP Packet size를 건들였다면,

workers.properties내의 max_packet_size 값을 JBoss 에서 설정한 값과 맞춰주자.