ajp_pass

Директива `ajp_pass` используется для передачи запросов от NGINX к бэкенд-серверу с использованием протокола AJP.

Синтаксисajp_pass upstream_name [options];
По умолчаниюnone
Контекстlocation, if in location
Аргументы1-2

Описание

Директива ajp_pass позволяет NGINX проксировать запросы к upstream AJP-серверу, часто используемому для подключения к серверам приложений, таким как Apache Tomcat. Указав блок upstream (например, upstream tomcats { server 127.0.0.1:8009; }), можно направлять запросы к нескольким AJP-серверам. Директива может принимать один или два аргумента: upstream-сервер или URI и необязательное значение, указывающее поведение управления соединениями (например, будет ли поддерживаться постоянное соединение).

На практике, когда NGINX получает входящий запрос, он обрабатывает заголовки и тело запроса в соответствии с указанной конфигурацией перед пересылкой на AJP-бэкенд. Протокол AJP обеспечивает эффективную передачу и может повысить производительность за счёт использования пула соединений и минимизации потребления ресурсов. Метод запроса, заголовки и другие атрибуты обрабатываются соответствующим образом для обеспечения бесшовного взаимодействия с AJP-сервером, что делает его идеальным для сценариев с приложениями на Java.

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

http {
    upstream tomcats {
        server 127.0.0.1:8009;
        keepalive 10;
    }
    server {
        listen 80;
        location / {
            ajp_pass tomcats;
        }
    }
}

Убедитесь, что AJP-бэкенд правильно настроен и работает на указанном IP:Port.

Протокол AJP требует соответствующих HTTP headers, поэтому неправильная конфигурация может привести к непредвиденному поведению или ошибкам.

Если ajp_keep_conn не установлен в 'on', NGINX может излишне открывать и закрывать соединения, что ухудшает производительность.

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