schedule_redirect

Директива `schedule_redirect` позволяет условно перенаправлять запросы на указанный сервер в рамках текущего контекста запроса.

Синтаксисschedule_redirect on | off;
По умолчаниюoff
Контекстserver
Аргументыflag

Описание

Директива schedule_redirect используется в контексте server конфигурации NGINX для организации перенаправлений на назначенный сервер во время обработки входящего запроса. При установке эта директива фактически помечает сервер для перенаправления, позволяя динамически обрабатывать запросы на основе заданных условий. Это особенно полезно для маршрутизации запросов в зависимости от характеристик клиента или атрибутов запроса без запуска нового HTTP-цикла ответа.

Эту директиву можно сочетать с условными проверками, которые оценивают параметры запроса, такие как заголовки или строка запроса. Например, если присутствует определённый заголовок и его значение соответствует заданным критериям, директива может автоматически перенаправить запрос на другой сервер при сохранении исходного контекста запроса. Сохраняя контекст запроса, исходные заголовки и переменные остаются доступными на целевом сервере, что обеспечивает бесшовный переход без потери важной информации о клиенте.

На практике schedule_redirect работает совместно с другими возможностями NGINX, такими как виртуальные серверы и сложные условия, чтобы обеспечить тонкую настройку маршрутизации запросов. Это особенно полезно при балансировке нагрузки или в многоарендных приложениях, где запросы могут потребоваться динамически перенаправлять на основе различных условий.

Пример конфига

server {
    listen 80;
    server_name example.com;

    # Enable scheduled redirection to the new server
    schedule_redirect on;
    server_redirect newserver.com;

    location / {
        # Normal processing code
    }
}

Убедитесь, что перенаправления не создают циклические петли, которые могут привести к ошибкам сервера.

При использовании условных проверок с schedule_redirect неправильный синтаксис может привести к непредвиденному поведению, поэтому всегда проверяйте условия, заданные для перенаправления.

← Ко всем директивам