카테고리 없음

Request Entity Too Large(HTTP 413, 414 code)

gregorio 2018. 7. 24. 11:58

Apache와 Tomcat AJP Protocol을 이용하여 연동하는 경우 Request Entity Too Large 오류가 발생할 때 다음과 같이 조치한다.


1. httpd.conf 파일 추가


LimitRequestLine 65536 

LimitRequestBody 0

LimitRequestFieldSize 65536 

LimitRequestFields 10000  


2. works.properties 파일 변경


worker.list=jkstatus,lb_dev


worker.template.type=ajp13

worker.template.lbfactor=1

worker.template.socket_timeout=300

worker.template.socket_connect_timeout=5000

worker.template.socket_keepalive=true

worker.template.connect_timeout=30000

worker.template.connection_pool_size=128

worker.template.connection_pool_minsize=32

worker.template.connection_pool_timeout=20


#########################################

## Worker

#########################################


worker.dev.reference=worker.template

worker.dev.host=10.255.116.84

worker.dev.port=8009

worker.dev.max_packet_size=65536 


#########################################

## Load Balancer

#########################################


worker.lb_dev.type=lb

worker.lb_dev.balance_workers=dev

worker.lb_dev.sticky_session=true


worker.jkstatus.type=status

#worker.jasper.max_packet_size=65536


 

Tomcat과 연동하는 workerdml max_packet_size를 65536으로 변경한다.


3. Tomcat의 server.xml 파일 수정


#JAVA_OPTS=" ${JAVA_OPTS} -Dorg.apache.coyote.ajp.MAX_PACKET_SIZE=65536"

 


MAX_PAKCET_SIZE를 JVM option에 추가하거나 


    <Connector URIEncoding="UTF-8" packetSize="65536" acceptCount="10" connectionTimeout="60000" enableLookups="false" maxPostSize="-1" maxThreads="256" tcpNoDelay="true" maxHttpHeaderSize="30000" port="8009" protocol="AJP/1.3" redirectPort="8443" />

 


server.xml 파일에 AJP Connector에 packetSize와 maxHttpHeaderSize를 설정한다.