Kenneth Falck's Blog

Nginx rate limiting käytössä blogissani

Posted on 2011-08-06 by Kenneth Falck

Otin koemielessä käyttöön Nginx:n HttpLimitReq-moduulin. Sillä voi helposti lisätä webbisaitin haluttuun osaan rajoituksen, joka estää yksittäistä käyttäjää latailemasta sivuja liian nopeasti. Omassani on nyt rajoituksena 1 req/s tietyille sivuille.

Nginxin rajoitus toimii siten, että sivut alkavat latautua hitaammin, kun niitä pommittaa. Kun pommitusta jatkaa riittävästi (rinnakkaisilla yhteyksillä), alkaa saada 503 Service Unavailable -ilmoitusta.

Blogissani on kuitenkin käytössä myös Varnish, joka välimuistittaa useimmat sivut, joten niitä rajoitus ei koske. Ideana on, että ainoastaan Djangolle asti raskaaseen käsittelyyn menevät pyynnöt rajoitetaan.