Commit 374c5d95 authored by nimrod's avatar nimrod
Browse files

- Added rate limits, tests and updated TODO list accordingly.

parent bb431375
Loading
Loading
Loading
Loading
+0 −5
Original line number Diff line number Diff line
@@ -56,8 +56,3 @@ Nimrod Adar, `contact me <nimrod@shore.co.il>`_ or visit my `website
<https://www.shore.co.il/>`_. Patches are welcome via `git send-email
<http://git-scm.com/book/en/v2/Git-Commands-Email>`_. The repository is located
at: https://www.shore.co.il/git/.

TODO
----

- Rate limit (http_limit_req and http_limit_conn modules).
+6 −0
Original line number Diff line number Diff line
---
# defaults file for ansible-role-nginx

requests_per_second_limit: 10
requests_per_second_burst: 50
concurrent_connections: 10
transfer_rate_limit_in_k: 1024
transfer_rate_limit_after_k_sent: 1024
+18 −0
Original line number Diff line number Diff line
{% if requests_per_second_limit is defined %}
limit_req_zone $binary_remote_addr zone=limit_req:10m rate={{ requests_per_second_limit }}r/s;
{% if requests_per_second_burst is defined %}
limit_req zone=limit_req burst={{ requests_per_second_burst }};
{% endif %}
{% endif %}

{% if concurrent_connections is defined %}
limit_conn_zone $binary_remote_addr zone=limit_conn:10m;
limit_conn limit_conn {{ concurrent_connections }};
{% endif %}

{% if transfer_rate_limit_in_k is defined %}
limit_rate {{ transfer_rate_limit_in_k }}k;
{% if transfer_rate_limit_after_k_sent is defined %}
limit_rate_after {{ transfer_rate_limit_after_k_sent }}k;
{% endif %}
{% endif %}
+4 −0
Original line number Diff line number Diff line
@@ -54,3 +54,7 @@ def test_nginx_stub_status(File, Command):

def test_nginx_socket(Socket):
    assert Socket('tcp://0.0.0.0:80').is_listening


def test_nginx_limit(File):
    assert File('/etc/nginx/conf.d/limit.conf').is_file