Рейтинг:0

Nginx — proxy_pass для другого внутреннего блока местоположения

флаг mx

Я использую Nginx для кэширования некоторых ответов. Серверная часть, генерирующая эти ответы, устанавливает общий Кэш-контроль заголовок для всех ответов.Однако мне нужно кэшировать некоторые ответы на более длительный срок, чем другие. То есть мне нужно изменить кеш-контроль заголовок, прежде чем он будет принят во внимание proxy_pass директива.

я использую ngx_lua_module и хотите изменить Кэш-Контроль заголовок в внутренний блок местоположения с использованием header_filter_by_lua_block директива. Предполагаемая конфигурация выглядит следующим образом:

место расположения / {
    прокси_пасс /фактический;
    proxy_cache что-то;
}

местоположение = / фактическое {
    внутренний;
    прокси_пасс https://бэкенд;
    прокси_кэш выключен;
    header_filter_by_lua_block {
        -- изменить заголовок управления кешем на основе параметров запроса/ответа
    }
}

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

Рейтинг:1
флаг za

Тебе нельзя proxy_pass на место можно только proxy_pass на восходящий поток или URL-адрес (который в основном не объявлен восходящим). Итак, отвечая на ваш вопрос формально, вы должны proxy_pass к локальный хост с заголовком узла, установленным на текущий имя сервера; но это, вероятно, будет чрезмерно усложнять вещи.

Вместо - похоже, все, что вам нужно сделать, это избавиться от место расположения / {} что вам не нужно, а затем переименовать местоположение = / фактическое к место расположения / {}.

Я бы также сказал, что вам вообще не нужен lua - просто удалите заголовок, который вы получаете из проксируемой сети, с помощью proxy_hide_header и добавьте свой собственный с add_header.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.