А чем не устраивает

recursive_error_pages on;
error_page 403 = @upstream;

location @upstream {
    proxy_pass    http://upstream;
}

Насколько я понял документацию, то при возникновении 403-ей от сервера в апстриме nginx снова передаст ее туда же, но уже скорее всего на другой из бекендов.

Поправьте если я ошибаюсь.

On 23.04.2013 09:30, Aleksey Chirkin wrote:
Я наблюдал за тем как работает rsync и заметил что на время копирования он блокирует доступ к директории устанавливая ей chmod 600, после выполнения синхронизации он устанавливает правильные права доступа. Вот в этот промежуток копирования и нужно перехватывать 403. Может я не понял вопроса? Вроде все делаю правильно.


22 апреля 2013 г., 23:33 пользователь Dmitry Morozovsky <[email protected] <mailto:[email protected]>> написал:

    On Mon, 22 Apr 2013, Aleksey Chirkin wrote:

    > В моей конфигурации nginx раздает файлы и балансирует нагрузку между
    > серверами.
    > Я использую rsync для синхронизации данных между машинами.
    > Во время синхронизации rsync назначает chmod 600 на синхронизируемые
    > директории. Nginx отвечает кодом 403 т.к. ресурс не достижим из-за
    > ограниченных привилегий.
    > Я хотел бы перехватить код 403 и перенаправить запрос на другой
    сервер.
    >
    > Не могли бы вы добавить поддержку кода 403 в proxy_next_upstream
    директиве?

    Простите за нескромный вопрос, а *зачем* вы так делаете?

    Если не предпринимать специальных усилий, то новые файлы в
    процессе rsync
    появляются на месте атомарно -- всё должно работать и так.

    --
    Sincerely,
    D.Marck                                     [DM5020, MCK-RIPE,
    DM3-RIPN]
    [ FreeBSD committer: [email protected] ]
    ------------------------------------------------------------------------
    *** Dmitry Morozovsky --- D.Marck --- Wild Woozle ---
    [email protected] <mailto:[email protected]> ***
    ------------------------------------------------------------------------

    _______________________________________________
    nginx-ru mailing list
    [email protected] <mailto:[email protected]>
    http://mailman.nginx.org/mailman/listinfo/nginx-ru




_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить