Как мне получить путь к текущему местоположению nginx/openresty в lua?

У меня есть этот блок местоположения:

location /somewhere/ {
    access_by_lua_file /path/to/file.lua;
    add_header X-debug-message "Using location: /somewhere/" always;
    ...
}

и я хотел бы сделать две вещи:

  1. Я хотел бы переместить строку настройки заголовка в файл lua.
  2. Для этого мне нужно прочитать определение местоположения (соответствующая строка/регулярное выражение/...) из переменной, а не вводить его как статическую строку (/где-то/).

Итак, в конце концов, это должно выглядеть вот так с магией в файле lua (я знаю, как установить заголовок ответа в lua).

location /somewhere/ {
    access_by_lua_file /path/to/file.lua;
    ...
}

Моя проблема: я понятия не имею...

  1. ... если есть переменная, хранящая описание местоположения (/где-то/), а не запрошенный URI/URL/PATH и
  2. если да - где эту переменную можно найти.

Итак, как мне получить доступ к этой информации из кода lua?

Пример

Вызываемый URL: https://mydomain.nowhere/somewhere/servicex/1234

Местоположение, которое соответствует: location /somewhere/ { ...

Строка, которую я хочу получить: /где-то/ (так точно определение блока местоположения).


person eventhorizon    schedule 18.05.2021    source источник
comment
Возможно, это поможет вам: stackoverflow.com/questions/20000911/ и заголовком stackoverflow.com/questions/48708361/nginx-request-uri-vs-uri/   -  person un.def    schedule 18.05.2021
comment
Если я использую эту/эти переменные, я получаю не строку, в которой я определил местоположение, а настоящий URI/URI/PATH/REWRITTEN-PATH/... Но THX ;-)   -  person eventhorizon    schedule 18.05.2021