<div>allow all</div>
<div>deny bla bla</div>
<div>вы же сами все разрешили.. попробуйте deny впереди поставать<br><br> </div>
<div><span class="gmail_quote">On 1/25/09, <b class="gmail_sendername">Доронин Сергей</b> <<a href="mailto:nophear@yandex.ru">nophear@yandex.ru</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Здравствуйте!<br>У меня на сервере на 8080 порту установлен apache, а на 80 nginx. Иногда мой сайт подвергается http-флуд атакам, что влечёт за собой множество<br>
<br>соединений с одного IP. Соответственно мне нужно средствами nginx ограничивать количество соединений с одного IP и блокировать доступ к сайту<br><br>для некоторых IP адресов. В документации по nginx я нашёл решение обоих вопросов. Вырезка из nginx.conf:<br>
<br># NGINX Server configuration<br><br>worker_processes 3;<br><br>error_log /home/myhost/logs/error.log;<br><br>pid /home/myhost/logs/nginx.pid;<br><br>events {<br> worker_connections 1024;<br>}<br><br><br>http {<br>
include /usr/local/etc/nginx/mime.types;<br> default_type application/octet-stream;<br> server_names_hash_bucket_size 64;<br><br> access_log /home/myhost/logs/access.log combined;<br><br> sendfile on;<br>
<br> keepalive_timeout 20;<br><br><br> limit_zone one $binary_remote_addr 10m;<br><br> server {<br> listen <a href="http://1.2.3.4:80">1.2.3.4:80</a>;<br> server_name <a href="http://myhost.nichost.ru">myhost.nichost.ru</a> <a href="http://www.myhost.nichost.ru">www.myhost.nichost.ru</a>;<br>
<br> limit_conn one 3;<br><br> allow all;<br> deny 92.113.238.129;<br>.....................<br>Где 1.2.3.4 - IP моего сервера.<br>С данным конфигом я запускаю nginx. После этого смотрю в netstat и вижу такую картину:<br>
<br>[myhost@web48 ~]$ netstat -an|grep ESTABLISH|more<br>netstat: kvm not available<br>tcp4 0 0 1.2.3.4.80 62.182.93.42.55050 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20928 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.124.46.214.3788 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.19614 ESTABLISHED<br>tcp4 0 0 1.2.3.4.80 62.182.93.42.56534 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 62.182.93.42.64848 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.19580 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20842 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 95.79.9.220.3079 ESTABLISHED<br>tcp4 0 690 1.2.3.4.80 92.126.158.158.49561 ESTABLISHED<br>tcp4 0 690 1.2.3.4.80 92.126.158.158.49560 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.113.238.129.20807 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20795 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.19495 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.113.238.129.20776 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 95.79.9.220.3078 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20775 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.113.238.129.20774 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 89.250.149.46.61099 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20760 ESTABLISHED<br>
tcp4 0 690 1.2.3.4.80 92.243.181.212.17171 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.124.46.214.3784 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20735 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.113.238.129.20738 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20718 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20708 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.113.238.129.20699 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20669 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20666 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.113.238.129.19411 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20657 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20633 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.113.238.129.19377 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.19400 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.124.46.214.3780 ESTABLISHED<br>
tcp4 0 330 1.2.3.4.80 92.113.238.129.20599 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20598 ESTABLISHED<br>tcp4 0 330 1.2.3.4.80 92.113.238.129.20587 ESTABLISHED<br>
[myhost@web48 ~]$ ps aux|grep nginx<br>myhost 89909 0.0 0.0 12224 1220 ?? Ss 12:47PM 0:00.00 nginx: master process /usr/local/sbin/nginx -c /home/myhost/nginx/nginx.conf<br><br>(nginx)<br>myhost 89910 0.0 0.1 12684 1692 ?? S 12:47PM 0:06.15 nginx: worker process (nginx)<br>
myhost 89911 0.0 0.0 12500 1508 ?? S 12:47PM 0:08.07 nginx: worker process (nginx)<br>myhost 89912 0.0 0.0 12500 1508 ?? S 12:47PM 0:08.19 nginx: worker process (nginx)<br>myhost 94547 0.0 0.0 1592 836 p5 S+ 1:13PM 0:00.00 grep nginx<br>
[myhost@web48 ~]$<br><br>92.113.238.129 - данный IP не только успешно соединяется с nginx (не смотря на "deny"), но и делает это параллельно бесконечное множество раз<br><br>(не смотря на limit_zone/limit_conn). Скажите пожалуйста, что я делаю не так? Почему nginx игнорирует соответствующие директивы в конфигах?<br>
<br>Заранее, спасибо!<br><br></blockquote></div><br>