Не проще ли сразу передавать запросы в CGI? Выглядеть схема будет так:

client -> nginx -> cgi -> nginx -> upstream

В этом случае, в cgi нет какой-то сверх логики кроме изменений ответов,
а выбором апстримов и работой с клиентами занимает nginx.
В схеме выше оба nginx вполне могут быть двумя server{} блоками одной
конфигурации.

On 15.04.2017 16:18, AndreyZP wrote:
Здравствуйте.

Подскажите, есть ли возможность nginx использовать как прокси и изменять
ответ.

Поясню подробнее.
На сервер пришёл запрос. При помощи proxy_pass получили ответ с другого
web-сервера.
Дальше, я хочу изменить этот ответ. Изменение может быть более сложное, чем
по регулярному выражению.

Идеально — дальше запрос переправить на мой fastcgi-скрипт, в который придут
все параметры запроса (GET например), и ответ, который дал вышестоящий
сервер (html код).

Далее, мой fastcgi скрипт (например, php через php-fpm, но не обязательно)
обрабатывает эти данные и на выходе формирует новый изменённый html, который
возвращает клиенту.

Так же, если вышестоящий сервер по какой-то причине не работает, чтобы
запрос тоже пришёл на мой fastcgi-скрипт с пометкой «ответа от вышестоящего
сервера нет, надо сформировать собственный ответ».

Возможно ли такое сделать средствами nginx?

Как-то для одного запроса последовательно исполнить директивы:
proxy_pass
потом
fastcgi_pass
чтобы на fastcgi помимо стандартных параметров, ещё и передался ответ от
proxy_pass ?

Posted at Nginx Forum: 
https://forum.nginx.org/read.php?21,273662,273662#msg-273662

_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru


_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить