Извиние за ламерство, но что то я не соображу, как бы это сделать<div>Ситуация такая: Пришел к нам ДДОС</div><div>По ряду причин отбиваться фаерволом не полуается, по этому я сконструировал во такой конфиг</div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">--------------------------------------------------------------</span></font></div>
<div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">fastcgi_cache_path /home/pills/nginx-cache levels= keys_zone=wholepage:1m;<br>server {<br>listen *:80;<br>
server_name serv;<br>root /home/pills/www;<br>index index.php;<br>limit_conn lconn 5;<br>#Пускаем только американцев и тех, кого нет в базе..</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">set $allow_from "";<br>
</span><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 14px; ">if ($geoip_country_code !~ "US|") { set $allow_from A; }</span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; ">if ($remote_addr !~ "79.171.127.56|193.178.250.242|46.98.0.222|46.118.243.109|66.176.74.135|46.118.193.187|46.118.*|^178.12|109.86.254.199|77.247.30.161|67.191.36.185|98.203.126.64") { set $allow_from "${allow_from}B"; }<br>
if ($allow_from = AB) {<br> return 444;<br> }<br><br><br>location ~ index.php$ {fastcgi_pass unix:/home/pills/run/fastcgi.sock;<br>#Проверяем куку, если нет - ставим и редиректим на индекс </span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "> if ($cookie_BAN !~* "secret2$")<br>
{<br> add_header Set-Cookie "ban=secret2";<br> rewrite ^(.*)$ <a href="http://lida-pills.com/index.php" target="_blank" style="color: rgb(66, 99, 171); ">http://lida-pills.com/index.php</a> redirect;<br>
break;<br> }<br> fastcgi_index index.php;<br> fastcgi_param PHPRC "/home/pills/php";<br> fastcgi_param SCRIPT_FILENAME /home/pills/www$fastcgi_script_name;<br> include fastcgi_params;<br>
set $do_not_cache 0;<br> if ($request_uri ~* shopping_cart=yes) {<br> set $do_not_cache 1;<br> }<br> fastcgi_cache_bypass $do_not_cache;<br> fastcgi_no_cache $do_not_cache;<br> fastcgi_cache wholepage;<br>
fastcgi_cache_valid 200 5m;<br> fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";<br> fastcgi_hide_header "Set-Cookie";<br> fastcgi_ignore_headers "Cache-Control" "Expires";<br>
<br>}<br>}<br></span></div><div><span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "><span class="Apple-style-span" style="font-size: small; ">--------------------------------------------------------------</span></span></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">При ближайшем рассмотрении выяснилось что после редиректа (при отсутсвии куки) все равно выполняется передача запроса на fastcgi</span></font></div>
<div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Первый вопрос - как бы это предотвратить</span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;">Второй вопрос - подскажите плз, в чем может быть ошибка, но в какой то момент перестало работать кеширование. Видно это как минимум в том, что в кеш-папке перестали появляться файлы кеша и возросла нагрузка.</span></font></div>