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 ?

Reply via email to