Browse Source
Merge pull request #7625 from Budibase/cherry-pick-7622
Configurable api rate limit through nginx
pull/7632/head
Rory Powell
4 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with
4 additions and
2 deletions
-
hosting/docker-compose.yaml
-
hosting/nginx.prod.conf.hbs
-
hosting/proxy/Dockerfile
|
|
|
@ -78,6 +78,7 @@ services: |
|
|
|
image: budibase/proxy |
|
|
|
environment: |
|
|
|
- PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10 |
|
|
|
- PROXY_RATE_LIMIT_API_PER_SECOND=20 |
|
|
|
depends_on: |
|
|
|
- minio-service |
|
|
|
- worker-service |
|
|
|
|
|
|
|
@ -11,7 +11,7 @@ events { |
|
|
|
http { |
|
|
|
# rate limiting |
|
|
|
limit_req_status 429; |
|
|
|
limit_req_zone $binary_remote_addr zone=ratelimit:10m rate=20r/s; |
|
|
|
limit_req_zone $binary_remote_addr zone=ratelimit:10m rate=${PROXY_RATE_LIMIT_API_PER_SECOND}r/s; |
|
|
|
limit_req_zone $binary_remote_addr zone=webhooks:10m rate=${PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND}r/s; |
|
|
|
|
|
|
|
include /etc/nginx/mime.types; |
|
|
|
|
|
|
|
@ -10,4 +10,5 @@ COPY .generated-nginx.prod.conf /etc/nginx/templates/nginx.conf.template |
|
|
|
COPY error.html /usr/share/nginx/html/error.html |
|
|
|
|
|
|
|
# Default environment |
|
|
|
ENV PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10 |
|
|
|
ENV PROXY_RATE_LIMIT_WEBHOOKS_PER_SECOND=10 |
|
|
|
ENV PROXY_RATE_LIMIT_API_PER_SECOND=20 |