point212
@point212
сисадмин linux, программист php

Почему не работает ограничение количества запросов nginx к определенному URLу?

Пытаюсь оградиться от доморощенных скрипт-киддис, которые пытаются брутить пароли.
Раньше ограничивал запросы в целом на сайт и всё работало. А тут вот что-то я не так делаю что ли... не хочет ограничивать на УРЛ. Хотя вроде и по советам из интернета и по мануалам все так делаю.

Ниже мой конфиг (сокращен для читаемости):

limit_conn_zone $binary_remote_addr zone=conn_per_ip:10m;
  limit_req_zone $binary_remote_addr zone=req_per_ip:10m rate=10r/s;

server {
    listen 80 default_server;
    server_name mydomain;
    root /home/mysite;
    index index.php;

    fastcgi_index index.php;
    include fastcgi_params;       
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
    fastcgi_param DOCUMENT_ROOT $realpath_root;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

   location /ajax/login_form {
        limit_req zone=req_per_ip burst=5 nodelay;
        rewrite ^ /index.php last;
        fastcgi_pass backend;
    }

    location ~ \.php$ {
        fastcgi_pass backend;
    }

}
  • Вопрос задан
  • 371 просмотр
Пригласить эксперта
Ответы на вопрос 1
point212
@point212 Автор вопроса
сисадмин linux, программист php
Отвечаю сам себе. Перемудрил чего-то.

Вот так будет работать:
location /json/login_form {
limit_req zone=one burst=5 nodelay;
try_files $uri /index.php?$request_query;
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы