Commit | Line | Data |
---|---|---|
9be7e9a1 S |
1 | params: |
2 | reqs_per_second: 12 | |
3 | burst_per_second: 12 | |
d0a12ba6 S |
4 | reqs_per_minute: 200 |
5 | burst_per_minute: 100 | |
350c2bdf | 6 | conn_per_ip: 20 |
9be7e9a1 S |
7 | |
8 | run: | |
9 | - replace: | |
10 | filename: "/etc/nginx/conf.d/discourse.conf" | |
11 | from: /server.+{/ | |
12 | to: | | |
c687dd7b S |
13 | limit_req_zone $binary_remote_addr zone=flood:10m rate=$reqs_per_secondr/s; |
14 | limit_req_zone $binary_remote_addr zone=bot:10m rate=$reqs_per_minuter/m; | |
78f9aa86 | 15 | limit_req_status 429; |
350c2bdf R |
16 | limit_conn_zone $binary_remote_addr zone=connperip:10m; |
17 | limit_conn_status 429; | |
9be7e9a1 S |
18 | server { |
19 | - replace: | |
20 | filename: "/etc/nginx/conf.d/discourse.conf" | |
21 | from: "/location @discourse {/" | |
22 | to: | | |
23 | location @discourse { | |
350c2bdf | 24 | limit_conn connperip $conn_per_ip; |
9be7e9a1 S |
25 | limit_req zone=flood burst=$burst_per_second nodelay; |
26 | limit_req zone=bot burst=$burst_per_minute nodelay; |