Hi,
Is there a way to use several gpc's ?
I already use gpc0 to track client IPs generating too many errors, and I
need to use another counter to track client IPs requesting some pages
too fast.
Here are the relevant parts of my current setup :
frontend web
stick-table type ip size 500k expire 5m store gpc0
tcp-request content track-sc1 src
http-request deny if !i_internal { sc1_get_gpc0 gt 0 }
backend front
stick-table type ip size 100k expire 5m store http_err_rate(10s)
tcp-request content track-sc2 src
acl error_rate_abuse sc2_http_err_rate gt 10
acl mark_as_abuser sc1_inc_gpc0 gt 0
reqtarpit . if error_rate_abuse !whitelist mark_as_abuser
And I'm trying to add something like this to the frontend :
stick-table type ip size 50k expire 24h store gpc0_rate(60s)
acl pages_info path_sub -i info.php
acl too_many_info_requests sc0_gpc0_rate() gt 50
acl mark_seen_pages_info sc0_inc_gpc0 gt 0
tcp-request content track-sc0 src if pages_info
http-request deny if mark_seen_pages_info too_many_info_requests
But I'm afraid that I will not be able to distinguish the info stored in
gpc0 for the error count and for the requests count...
What am I missing here ?