<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
А обязательно бэкенд для x-accel-redirect?<br>
Вроде так 2й limit_req не срабатывает:<br>
<br>
<tt>location / {<br>
    limit_req zone=myzone_ip burst=2 nodelay;<br>
    add_header "X-Accel-Redirect" /foobar;<br>
}<br>
location /foobar {<br>
    limit_req zone=myzone_x  burst=2 nodelay;<br>
  ...<br>
<br>
</tt><br>
<br>
On 06/14/2010 02:46 PM, SaveFrom.net wrote:
<blockquote
 cite="mid:AANLkTilt7jToE4Q0Pa-GdQ-jzgt0lYVES9_56i7me7Dt@mail.gmail.com"
 type="cite">Здравствуйте. <br>
  <br>
  <div class="gmail_quote">15 июня 2010 г. 0:41 пользователь Konstantin
Svist <span dir="ltr">&lt;<a moz-do-not-send="true"
 href="mailto:fry.kun@gmail.com">fry.kun@gmail.com</a>&gt;</span>
написал:<br>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Если
нельзя включить в обычном режиме, можно ли что-нибудь придумать с<br>
subrequest-ами?<br>
  </blockquote>
  <div>В обычном режиме включить нельзя, хотя Игорь писал в рассылке,
что собирается это поправить. Однако это проскакивало давно. </div>
  <div>С сабреквестом включить можно, делая x-accel-redirect. Логика
такая: запрос идет в 1й локейшн, в нем стоит 1й limit, на фазе access
он отрабатывает, далее  бэкэнд выдает x-accel-redirect на локейшн, в
котором стоит второй limit, там же обрабатывается основная часть
запроса. У меня работает примерно так. С обычным же рерайтом не уверен
что получится, т.к. rewrite быполняется после access.</div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
    <div>
    <div class="h5"><br>
On 06/12/2010 04:55 PM, Konstantin Svist wrote:<br>
&gt; Можно ли подкрутить http_limit_req_module чтобы можно было их
несколько<br>
&gt; поставить в один location?<br>
&gt;<br>
&gt; Хочу запретить по двум признакам - по ip адресу 5r/s, а второй по
$arg_x<br>
&gt; 20r/s<br>
&gt;<br>
&gt; Такая конфигурация ругается:<br>
&gt;<br>
&gt; location / {<br>
&gt;     limit_req zone=myzone_ip burst=2 nodelay;<br>
&gt;     limit_req zone=myzone_x  burst=2 nodelay;<br>
&gt; ...<br>
&gt;<br>
&gt;&gt;&gt;&gt; [emerg]: "limit_req" directive is duplicate in<br>
&gt;&gt;&gt;&gt;<br>
&gt; /usr/local/nginx/conf/nginx.conf:57<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Придумал немного через заднее место - не ругается, но и не работает<br>
&gt; (т.е. работает только один limit_req):<br>
&gt;<br>
&gt; location / {<br>
&gt;     limit_req zone=myzone_ip burst=2 nodelay;<br>
&gt;     return 404;<br>
&gt;     error_page 404 = @foobar;<br>
&gt; }<br>
&gt; location @foobar {<br>
&gt;     limit_req zone=myzone_x  burst=2 nodelay;<br>
&gt; ...<br>
&gt;<br>
&gt;<br>
&gt; Наверное заработает если добавлю ещё один server через unix
socket, но<br>
&gt; хотелось бы обойти..<br>
&gt;<br>
&gt;<br>
    <br>
_______________________________________________<br>
nginx-ru mailing list<br>
    <a moz-do-not-send="true" href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
    <a moz-do-not-send="true"
 href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
    </div>
    </div>
  </blockquote>
  </div>
  <br>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
nginx-ru mailing list
<a class="moz-txt-link-abbreviated" href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a>
<a class="moz-txt-link-freetext" href="http://nginx.org/mailman/listinfo/nginx-ru">http://nginx.org/mailman/listinfo/nginx-ru</a>
  </pre>
</blockquote>
<br>
</body>
</html>