Merge pull request #394 from pfaffman/patch-1
[discourse_docker.git] / templates / web.ratelimited.template.yml
index fe7a5e30f291b048b48b41fbf97c28051abd1725..ae9cd636c16066cf8373413e5640dc63307de3c7 100644 (file)
@@ -1,21 +1,26 @@
 params:
   reqs_per_second: 12
   burst_per_second: 12
-  reqs_per_minute: 100
-  burst_per_minute: 50
+  reqs_per_minute: 200
+  burst_per_minute: 100
+  conn_per_ip: 20
 
 run:
   - replace:
      filename: "/etc/nginx/conf.d/discourse.conf"
      from: /server.+{/
      to: |
-       limit_req_zone $binary_remote_addr zone=flood:10m rate $reqs_per_secondr/s;
-       limit_req_zone $binary_remote_addr zone=bot:10m rate $reqs_per_minuter/m;
+       limit_req_zone $binary_remote_addr zone=flood:10m rate=$reqs_per_secondr/s;
+       limit_req_zone $binary_remote_addr zone=bot:10m rate=$reqs_per_minuter/m;
+       limit_req_status 429;
+       limit_conn_zone $binary_remote_addr zone=connperip:10m;
+       limit_conn_status 429;
        server {
   - replace:
      filename: "/etc/nginx/conf.d/discourse.conf"
      from: "/location @discourse {/"
      to: |
        location @discourse {
+         limit_conn connperip $conn_per_ip;
          limit_req zone=flood burst=$burst_per_second nodelay;
          limit_req zone=bot burst=$burst_per_minute nodelay;