<div dir="ltr">При возникновении 403-ей ошибки запрос не будет передан на следующий сервер, т.к. директива proxy_next_upstream не поддерживает этот код. Я указал на пример где перехват этого кода действительно нужен в случае когда по для синхронизации блокирует доступ к синхронизируемым файлам путем снятия прав доступа.<div>
<span style="font-family:arial,sans-serif;font-size:13px;font-weight:bold;text-align:left;white-space:nowrap">Alex Belyansky, </span><span style="font-family:arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap">спасибо, </span><span style="font-family:arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap">вы указали на один из возможных вариантов решения проблемы, он работает но использование его не совсем удобно,</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap">т.к. </span><span style="font-family:arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap"><a href="http://upstream">http://upstream</a> должен указывать на отличный апстрим от того который перенаправил запрос на текущий сервер, иначе запрос вернется</span></div>
<div><span style="font-family:arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap">обратно, к тому же это это вряд ли будет работать в конфигурации апстримов с резервными серверами.</span></div><div><span style="font-family:arial,sans-serif;font-size:13px;text-align:left;white-space:nowrap">Директива </span>proxy_next_upstream в данном случае намного удобнее.</div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">23 апреля 2013 г., 10:27 пользователь Alex Belyansky <span dir="ltr"><<a href="mailto:alex.barut@gmail.com" target="_blank">alex.barut@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <div>А чем не устраивает <br>
      <br>
      recursive_error_pages on;<br>
      error_page 403 = @upstream;<br>
      <br>
      location @upstream {<br>
          proxy_pass    <a href="http://upstream" target="_blank">http://upstream</a>;<br>
      }<br>
      <br>
      Насколько я понял документацию, то при возникновении 403-ей от
      сервера в апстриме nginx снова передаст ее туда же, но уже скорее
      всего на другой из бекендов.<br>
      <br>
      Поправьте если я ошибаюсь.<div><div class="h5"><br>
      <br>
      On 23.04.2013 09:30, Aleksey Chirkin wrote:<br>
    </div></div></div><div><div class="h5">
    <blockquote type="cite">
      <div dir="ltr">Я наблюдал за тем как работает rsync и заметил что
        на время копирования он блокирует доступ к директории
        устанавливая ей chmod 600, после выполнения синхронизации он
        устанавливает правильные права доступа. Вот в этот промежуток
        копирования и нужно перехватывать 403. Может я не понял вопроса?
        Вроде все делаю правильно.</div>
      <div class="gmail_extra"><br>
        <br>
        <div class="gmail_quote">22 апреля 2013 г., 23:33 пользователь
          Dmitry Morozovsky <span dir="ltr"><<a href="mailto:marck@rinet.ru" target="_blank">marck@rinet.ru</a>></span> написал:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div>
              <div>On Mon, 22 Apr 2013, Aleksey Chirkin
                wrote:<br>
                <br>
                > В моей конфигурации nginx раздает файлы и
                балансирует нагрузку между<br>
                > серверами.<br>
                > Я использую rsync для синхронизации данных между
                машинами.<br>
                > Во время синхронизации rsync назначает chmod 600 на
                синхронизируемые<br>
                > директории. Nginx отвечает кодом 403 т.к. ресурс не
                достижим из-за<br>
                > ограниченных привилегий.<br>
                > Я хотел бы перехватить код 403 и перенаправить
                запрос на другой сервер.<br>
                ><br>
                > Не могли бы вы добавить поддержку кода 403 в
                proxy_next_upstream директиве?<br>
                <br>
              </div>
            </div>
            Простите за нескромный вопрос, а *зачем* вы так делаете?<br>
            <br>
            Если не предпринимать специальных усилий, то новые файлы в
            процессе rsync<br>
            появляются на месте атомарно -- всё должно работать и так.<br>
            <span><font color="#888888"><br>
                --<br>
                Sincerely,<br>
                D.Marck                                     [DM5020,
                MCK-RIPE, DM3-RIPN]<br>
                [ FreeBSD committer:                                
                <a href="mailto:marck@FreeBSD.org" target="_blank">marck@FreeBSD.org</a> ]<br>
------------------------------------------------------------------------<br>
                *** Dmitry Morozovsky --- D.Marck --- Wild Woozle --- <a href="mailto:marck@rinet.ru" target="_blank">marck@rinet.ru</a>
                ***<br>
------------------------------------------------------------------------<br>
                <br>
                _______________________________________________<br>
                nginx-ru mailing list<br>
                <a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a><br>
                <a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></font></span></blockquote>
        </div>
        <br>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre>_______________________________________________
nginx-ru mailing list
<a href="mailto:nginx-ru@nginx.org" target="_blank">nginx-ru@nginx.org</a>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></pre>
    </blockquote>
    <br>
  </div></div></div>

<br>_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a><br></blockquote></div><br></div>