Eval#

O módulo permite salvar os corpos das respostas de subrequisições em variáveis.

Instalação#

Para instalar o módulo, use um dos seguintes pacotes:

  • Angie: angie-module-eval

  • Angie PRO: angie-pro-module-eval

Carregando o Módulo#

Conectando o módulo no contexto de main{}:

load_module modules/ngx_http_eval_module.so;

Exemplo de Configuração#

server {
    listen 80;
    server_name localhost;

    location / {
        eval_subrequest_in_memory off;
        eval_override_content_type text/plain;
        eval_buffer_size 4k;
        eval $res {
            rewrite ^(/eval_.*/)(.*)$  /$2 break;
            proxy_pass http://127.0.0.1:8081;
        }

        if ($res ~ "access denied") {
            return 403 $res\n;
        }

        proxy_pass http://127.0.0.1:8082;
    }
}

server {
    listen 8081;

    if ($arg_user != 'Legal') {
        return 403 "access denied";
    }
    return 200 OK;
}

server {
    listen 8082;

    location / {
        root /usr/share/angie/html;
    }
}

Informações Adicionais#

Documentação detalhada e código fonte estão disponíveis em: openresty/nginx-eval-module