Develop a simple nginx module to count received http requests for each IP address
€10-100 EUR
完了済み
投稿日: 8年以上前
€10-100 EUR
完了時にお支払い
I need a simple nginx module to be developed
The module will need to accomplish a simple task:
Counting the number of http requests that an IP address does to a website
The requirement is to have available in nginx a new variable:
$remote_addr_request_count_today
It should count the requests filtering them on daily basis
E.g. when IP 1.1.1.1 makes the first HTTP request you'll have:
$remote_addr_request_count_today=0
second request:
$remote_addr_request_count_today=1
and so on...
now imagine you'll end in this at the end of the day:
$remote_addr_request_count_today=250
But at midnight, or the next day the count will be reset to 0 (you can implement this simply storing the IP+date as an hash in your storage for the counter stats
As storage you can use simple flat file writing, SQLite, memcached, mysql or redis (up to you, pick the simpler, flat file should be good enough but needs to be optimized coding to read/write it, to avoid bottlenecks and cuncurrency issues when there's much traffic.
Note: nginx modules are written in C, see here for an example to start, it's a module already working on IP addresses and creating new variables, so this example is very good as a starting point for your work: [login to view URL]