Назад | Перейти на главную страницу

Ограничение скорости nginx: неизвестная директива limit_req_zone

Я пытаюсь установить ограничение скорости для ботов с помощью моего веб-сайта, но если я добавлю

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;

или что-нибудь в этом роде /etc/nginx/nginx.conf в http блок, перед включением я получаю

user@srv:~$ sudo service nginx restart
Restarting nginx: nginx: [emerg] unknown directive "limit_req_zone" in /etc/nginx/nginx.conf:11

Я не могу понять, почему это так и где еще искать проблемы ...

Любая помощь приветствуется!

Либо вы используете старую версию nginx (<0.7.21), либо ngx_http_limit_req_module модуль не скомпилирован в вашу сборку nginx (что немного странно). Бегать nginx -V 2>&1 | grep --colour=auto limit чтобы проверить, не отключен ли он при сборке.

Поскольку у вас есть ubuntu отметьте тег в своем вопросе, попробуйте apt install nginx-full -- вместо того nginx-light, который построен --without-http_limit_req_module.