исключение блока nginx lua - PullRequest
0 голосов
/ 06 мая 2019

Я пытался создать динамический обратный прокси через Python и Nginx-Lua

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

кажется следующее сообщение об ошибке в файле err.log:

не удалось загрузить встроенный код Lua: access_by_lua (nginx.conf: 44): 4: ожидается ожидание '}} (закрыть'{' в строке 2) рядом с '=', клиент: 127.0.0.1

и мои коды conf-файла следующие:

  set $datax '';
  set $res '';

  access_by_lua '
    content_by_lua_block {
    ngx.req.read_body();
    ngx.var.datax = ngx.req.get_body_data();
    ngx.var.res = os.execute("/usr/local/etc/nginx/nginx.py ngx.var.datax");

    if ngx.var.res == "VIP" then
            proxy_pass  https://mail.xxx.com;
            proxy_read_timeout  90;
    else
            proxy_pass  https://mail2.xxx.com;
            proxy_read_timeout  90;
    end
  }';

1 Ответ

0 голосов
/ 06 мая 2019

Ваш синтаксис искажен, вы пытаетесь использовать content_by_lua_block внутри access_by_lua.Посмотрите документы: content_by_lua_block , access_by_lua

Я бы порекомендовал вам использовать content_by_lua_block, после access_by_lua не рекомендуется выпускать v0.9.17.

set $datax '';
set $res '';

content_by_lua_block {
  [your lua code]
}
...