fix:#36 updated ratelimit nginx for post feeds

This commit is contained in:
Elmar Kresse
2024-06-19 22:03:15 +02:00
parent 8124d84efd
commit a4a38a94f9
3 changed files with 20 additions and 83 deletions

View File

@ -116,20 +116,15 @@ http {
}
# Different rate limits for different request methods
map $request_method $limit_feed {
POST ''; # Create feed is limited to 1 request per minute
default $binary_remote_addr; # All other requests are limited to 20 requests per minute
map $request_method $ratelimit_key {
POST $binary_remote_addr;
default "";
}
map $request_method $limit_createFeed {
POST $binary_remote_addr; # Create feed is limited to 1 request per minute
default ''; # All other requests are limited to 20 requests per minute
}
limit_req_zone $ratelimit_key zone=createFeed:10m rate=1r/m;
# Limit the number of requests per IP
limit_req_zone $limit_feed zone=feed:20m rate=20r/m;
limit_req_zone $limit_createFeed zone=createFeed:10m rate=1r/m;
limit_req_zone $limit_key zone=modules:10m rate=30r/m;
server {
@ -149,14 +144,14 @@ http {
ssl_certificate_key dev_htwkalender_de.key.pem;
location /api/feed {
limit_req zone=createFeed nodelay;
limit_req zone=feed burst=10 nodelay;
proxy_pass http://htwkalender-ical:8091;
client_max_body_size 2m;
proxy_connect_timeout 600s;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
send_timeout 600s;
limit_req zone=feed burst=10 nodelay;
limit_req zone=createFeed burst=10 nodelay;
limit_req_status 429;
}