Как добавить директиву множественного доступа_by_lua_file в одно и то же место = /_sample

Используя самоанализ модуля openidc под местоположением и вызывая, используя ниже,

 Policy section
#
location = /_sample {
    internal;
    set $api_name "sample"; 
    access_by_lua_file /etc/nginx/path/oauth_introspection.lua;
     Proxypass......
}

Теперь я хочу включить файл lua ниже, чтобы добавить некоторое содержимое и проверить что-то по тому же запросу.

 Policy section
#
location = /_sample {
    internal;
    set $api_name "sample"; 
    access_by_lua_file /etc/nginx/path/oauth_introspection.lua;
        access_by_lua_file /etc/nginx/path/do_something.lua; //Error with duplicate
     Proxypass......
}

И мой oauth_introspection.lua имеет эту логику самоанализа openidc,

local res, err = require("resty.openidc").introspect(opts)

1 ответ

access_by_lua_fileможно использовать только один раз. Вы должны объединить свой код в файл lua:

location = /_sample {
    internal;
    set $api_name "sample"; 
    access_by_lua_file /etc/nginx/path/action_sample.lua;
    Proxypass......
}

action_sample.lua:

local res, err = require("resty.openidc").introspect(opts)

-- do something or 
loadfile("/etc/nginx/path/do_something.lua")(opts)

Другие вопросы по тегам