Skip to content

Commit 2b810a9

Browse files
naive conn limit
1 parent 4553e11 commit 2b810a9

2 files changed

Lines changed: 9 additions & 6 deletions

File tree

ansible/roles/nginx/files/nginx.conf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ http {
6868

6969
# Limit for routing requests
7070
limit_req_zone $binary_remote_addr zone=api_plan:10m rate=20r/m;
71+
limit_conn_zone $binary_remote_addr zone=api_plan_conn:10m;
7172

7273
# Limit for harmless APIs
7374
limit_req_zone $binary_remote_addr zone=api_harmless:10m rate=1000r/m;
@@ -76,6 +77,7 @@ http {
7677
limit_req_zone $binary_remote_addr zone=api:10m rate=100r/m;
7778

7879
limit_req_status 429;
80+
limit_conn_status 429;
7981

8082
proxy_next_upstream error timeout; # needed for no-downtime during MOTIS restart, hopefully doesn't pass segfaults
8183
proxy_next_upstream_tries 2; # try the potentially dangerous request at most on one other upstream

ansible/roles/nginx/templates/transitous.conf.j2

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,9 +86,9 @@ server {
8686
limit_req zone=api_harmless burst=200 delay=50;
8787

8888
proxy_connect_timeout 2s;
89-
proxy_send_timeout 60;
90-
proxy_read_timeout 60;
91-
send_timeout 60;
89+
proxy_send_timeout 10s;
90+
proxy_read_timeout 10s;
91+
send_timeout 60s;
9292

9393
proxy_cache motis;
9494
proxy_cache_valid 200 302 1d;
@@ -134,6 +134,7 @@ server {
134134
proxy_pass http://{{ item.vhost }}-backend$uri?$args;
135135

136136
limit_req zone=api_plan burst=20 delay=10;
137+
limit_conn api_plan_conn 10;
137138

138139
proxy_connect_timeout 2s;
139140
proxy_send_timeout 60;
@@ -148,9 +149,9 @@ server {
148149
limit_req zone=api_harmless burst=150 delay=20;
149150

150151
proxy_connect_timeout 2s;
151-
proxy_send_timeout 60;
152-
proxy_read_timeout 120;
153-
send_timeout 60;
152+
proxy_send_timeout 10s;
153+
proxy_read_timeout 10s;
154+
send_timeout 60s;
154155
}
155156

156157
# other endpoints

0 commit comments

Comments
 (0)