Linux
[Apache Tomcat] maxPostSize, maxParameterCount
rw-
2024. 11. 27. 14:52
728x90
Apache Tomcat에서 서버로 Post 방식을 이용한 Submit 시 파라미터 개수와 사이즈를 확인하여 그 이상 범위일 경우에는 설정을 변경하여야 합니다.
maxPostSize와 maxParameterCount는 주로 웹 서버나 애플리케이션 서버에서 HTTP 요청을 처리할 때 사용되는 설정입니다. 이들 설정은 클라이언트가 보낼 수 있는 데이터의 양과 그 데이터에서 허용되는 매개변수의 수를 제한하는 역할을 합니다.
1. maxPostSize
- 설명: maxPostSize는 HTTP 요청에서 POST 메서드를 사용하여 전송할 수 있는 최대 바이트 수를 제한하는 설정입니다. 즉, 클라이언트가 서버에 전송할 수 있는 데이터(파일 업로드를 포함한 본문)의 최대 크기를 지정합니다.
- 목적: 서버에서 너무 큰 요청을 처리하는 것을 방지하여 서버의 성능을 보호하고, 서비스 거부 공격(DDoS)이나 의도적으로 과도한 용량의 데이터를 전송하는 것을 방지합니다.
- 예시: 예를 들어, maxPostSize가 10MB로 설정되어 있으면, 클라이언트는 10MB를 초과하는 POST 요청을 서버에 전송할 수 없습니다.
<Connector port="8080" maxPostSize="10485760" />
2. maxParameterCount
- 설명: maxParameterCount는 HTTP 요청에서 클라이언트가 전송할 수 있는 최대 파라미터 수를 제한하는 설정입니다. 이는 주로 GET 요청이나 POST 요청의 URL 또는 본문에 포함된 파라미터의 개수를 제한하는 데 사용됩니다.
- 목적: 서버에서 너무 많은 파라미터를 처리하는 것을 방지하여 성능 저하를 막고, 악성 요청을 차단하는 데 사용됩니다. 또한, 너무 많은 파라미터가 포함된 요청은 의도적인 서비스 거부 공격을 의미할 수 있기 때문에 이를 제한하는 것입니다.
- 예시: maxParameterCount가 1000으로 설정되어 있으면, 클라이언트는 요청에서 1000개를 초과하는 파라미터를 보낼 수 없습니다.
<Connector port="8080" maxParameterCount="1000" />
- 이 설정은 HTTP 요청에서 허용할 최대 파라미터 수를 1000으로 제한하는 예시입니다.
기본(8080)
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="-1" maxParameterCount="-1"/>
AJP 아파치와 연동
<Connector protocol="AJP/1.3" address="::1" port="8009" redirectPort="8443" secretRequired="false" maxPostSize="-1" maxParameterCount="-1"/>
결론
- maxPostSize: POST 요청 본문에서 허용되는 최대 데이터 크기(바이트 단위)를 설정.
- maxParameterCount: 요청에 포함될 수 있는 최대 파라미터 수를 설정.
이 설정들은 서버가 요청을 처리하는 데 있어 자원을 과도하게 사용하거나 악의적인 요청을 차단하는 데 중요한 역할을 합니다.
728x90
반응형