Добрый день!
Можете, пожалуйста, подсказать, как это можно сделать с помощью
nginx-njs-module?
Такое чувство, что если указать одновременно js_content и proxy_pass,
то proxy_pass игнорируется и запрос обрабатывает только js_content:
location /hello {
proxy_pass http://ya.ru;
js_content b
По совету выше я использовал вариант с Lua
Пришлось день потратить, чтоб разобраться в Lua, накодил в конфиге nginx-а,
в итоге получилась именно такая схема как я хотел.
Сначала запрос на вышестоящий сервер, потом на мой fastcgi. Сам ответ от
сервера на fastcgi в итоге передал через memcached.
Спас
Не проще ли сразу передавать запросы в CGI? Выглядеть схема будет так:
client -> nginx -> cgi -> nginx -> upstream
В этом случае, в cgi нет какой-то сверх логики кроме изменений ответов,
а выбором апстримов и работой с клиентами занимает nginx.
В схеме выше оба nginx вполне могут быть двумя serv
nginx-lua-http(или stream)-module (сторонний)
nginx-njs-module (от авторов nginx, не встроенный)
nginx-perl-module (встроенный)
Выбирайте.
Впрочем, про возможность сходить (встроенными функциями) по паре локейшнов,
обработать результат и отдать что-то своё я точно знаю в первом из
перечисленных
Здравствуйте.
Подскажите, есть ли возможность nginx использовать как прокси и изменять
ответ.
Поясню подробнее.
На сервер пришёл запрос. При помощи proxy_pass получили ответ с другого
web-сервера.
Дальше, я хочу изменить этот ответ. Изменение может быть более сложное, чем
по регулярному выражению