Page 1 of 1
Лимит подключений с 1 IP
Posted: Wed Aug 03, 2016 12:32 am
by Blayzer
Доброго времени суток, задался вопросом: Как настроить лимит подключений с 1 IP?
Пробовал искать, но там статьи старые и у меня ничего не вышло, а в iptables лезть боюсь, дабы не испортить проксирование apache + ngix.
Подскажите, знающие люди.
Одновременными подключениями сервер ложат, вручную блочить не круто как-то.
Re: Лимит подключений с 1 IP
Posted: Mon Aug 08, 2016 8:11 am
by Randy
-A INPUT -p tcp -m tcp --dport 1234 -m connlimit --connlimit-above 1 -j REJECT --reject-with icmp-port-unreachable
Где 1234 - порт.
Где 1 - кол-во подключений.
Re: Лимит подключений с 1 IP
Posted: Mon Aug 08, 2016 3:46 pm
by Blayzer
Выставлять на 80 порт, я так понимаю? А если локалхост будет исчерпывать лимиты подключения, что будет? Или оно будет игнорировать локалпорт и айпи машины?
Re: Лимит подключений с 1 IP
Posted: Tue Aug 09, 2016 1:13 pm
by skurudo
Используйте ngx_http_limit_conn_module -
http://nginx.org/ru/docs/http/ngx_http_ ... odule.html,
прописав директив limit_conn_zone и limit_conn в конфигурационном файле nginx:
Code: Select all
http {
include mime.types;
default_type application/octet-stream;
limit_conn_zone one $binary_remote_addr 4m;
limit_conn one 8;
...
Re: Лимит подключений с 1 IP
Posted: Wed Aug 10, 2016 12:55 am
by Blayzer
skurudo wrote:Используйте ngx_http_limit_conn_module -
http://nginx.org/ru/docs/http/ngx_http_ ... odule.html,
прописав директив limit_conn_zone и limit_conn в конфигурационном файле nginx:
Code: Select all
http {
include mime.types;
default_type application/octet-stream;
limit_conn_zone one $binary_remote_addr 4m;
limit_conn one 8;
...
Выдает ошибку invalid number of arguments in "limit_conn_zone" directive in /etc/nginx/nginx.conf:50
Изменил формат на:
limit_conn_zone $binary_remote_addr zone=one:4m;
limit_conn one 8;
Запустилось. Все ли верно?
Re: Лимит подключений с 1 IP
Posted: Thu Aug 11, 2016 1:57 pm
by skurudo
Blayzer wrote:
Выдает ошибку invalid number of arguments in "limit_conn_zone" directive in /etc/nginx/nginx.conf:50
Изменил формат на:
limit_conn_zone $binary_remote_addr zone=one:4m;
limit_conn one 8;
Запустилось. Все ли верно?
По идее - да,
за не протестированный пример извините - но логика конфигов сравнительно несложная.
Re: Лимит подключений с 1 IP
Posted: Sun Aug 14, 2016 12:09 pm
by Randy
Blayzer wrote:Выставлять на 80 порт, я так понимаю? А если локалхост будет исчерпывать лимиты подключения, что будет? Или оно будет игнорировать локалпорт и айпи машины?
Да, если на 80 порту работает и nginx 8080 закрыт извне.
Конечно, локалку будет игнорить.
С nginx конечно тоже хорошо, но если используются другие приложения, то с iptables будет правильнее.
Re: Лимит подключений с 1 IP
Posted: Mon Aug 15, 2016 11:52 am
by skurudo
Randy wrote:С nginx конечно тоже хорошо, но если используются другие приложения, то с iptables будет правильнее.
Обычно на входе именно nginx.
Впрочем какие-то менее распространенные случаи тоже имеют место быть.