Jake Slack | 03928ae | 2014-05-13 18:41:56 -0700 | [diff] [blame] | 1 | DoSFilter: Limit exposure to abuse from request flooding, whether malicious, or as a result of a misconfigured client. |
| 2 | maxRequestsPerSec: maximum number of requests from a connection per second. Requests in excess of this are first delayed, then throttled. |
| 3 | delayMs: delay (in milliseconds) that is applied to all requests over the rate limit, before they are considered at all, 0 - no delay, -1 - reject request. |
| 4 | maxWaitMs: maximum amount of time (in milliseconds) the filter will blocking wait for the throttle semaphore. |
| 5 | throttledRequests: number of requests over the rate limit able to be considered at once. |
| 6 | throttleMs: amount of time (in milliseconds) to async wait for semaphore. |
| 7 | maxRequestMs: maximum amount of time (in milliseconds) to allow the request to process. |
| 8 | maxIdleTrackerMs: maximum amount of time (in milliseconds) to keep track of request rates for a connection, before deciding that the user has gone away, and discarding it. |
| 9 | insertHeaders: insert the DoSFilter headers into the response. |
| 10 | trackSessions: usage rate is tracked by session if a session exists. |
| 11 | remotePort: usage rate is tracked by IP+port (effectively connection) if session tracking is not used. |
| 12 | enabled: whether this filter is enabled |
| 13 | whitelist: comma separated list of IP addresses that will not be rate limited. |
| 14 | clearWhitelist(): clears the list of IP addresses that will not be rate limited. |
| 15 | addWhitelistAddress(java.lang.String):ACTION: adds an IP address that will not be rate limited. |
| 16 | addWhitelistAddress(java.lang.String)[0]:address: the IP address that will not be rate limited. |
| 17 | removeWhitelistAddress(java.lang.String):ACTION: removes an IP address that will not be rate limited. |
| 18 | removeWhitelistAddress(java.lang.String)[0]:address: the IP address that will not be rate limited. |