diff --git a/ansible/roles/stack-proxy/defaults/main.yml b/ansible/roles/stack-proxy/defaults/main.yml index 100e108c695dc843fdc1f531eff229a826a1aeb3..0ae31363be77f3393c7285701bfbd2bf7edd406f 100644 --- a/ansible/roles/stack-proxy/defaults/main.yml +++ b/ansible/roles/stack-proxy/defaults/main.yml @@ -4,6 +4,7 @@ hub_org: sunbird proxy_replicas: 1 proxy_reservation_memory: 32M proxy_limit_memory: 64M +nginx_per_ip_connection_limit: 400 proxy_prometheus: false diff --git a/ansible/roles/stack-proxy/templates/nginx.conf b/ansible/roles/stack-proxy/templates/nginx.conf index 3b23cbf904a43c3e587ed2b8312368a3bc5bc29a..566be10a09d34e0c9f3631f6df4ea96464d563cb 100644 --- a/ansible/roles/stack-proxy/templates/nginx.conf +++ b/ansible/roles/stack-proxy/templates/nginx.conf @@ -5,7 +5,7 @@ error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { - worker_connections 2048; + worker_connections 10000; } diff --git a/ansible/roles/stack-proxy/templates/proxy-default.conf b/ansible/roles/stack-proxy/templates/proxy-default.conf index d462b95b990080bd1874289cd899f6903d3c14bc..586b0a4433376b88df1098674a1b173652a1ecaf 100644 --- a/ansible/roles/stack-proxy/templates/proxy-default.conf +++ b/ansible/roles/stack-proxy/templates/proxy-default.conf @@ -3,6 +3,8 @@ server { listen 80; listen [::]:80; server_name {{ proxy_server_name }}; + # Limitting open connection per ip + limit_conn limitbyaddr {{ nginx_per_ip_connection_limit }}; return 301 https://{{ proxy_server_name }}$request_uri; } @@ -18,6 +20,8 @@ server { {% endif %} server_name {{ proxy_server_name }}; + # Limitting open connection per ip + limit_conn limitbyaddr {{ nginx_per_ip_connection_limit }}; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;