Re: Proxy pass изменить ответ

Igor A. Ippolitov iippolitov на nginx.com
Вс Апр 16 12:34:13 UTC 2017


Не проще ли сразу передавать запросы в 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
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru




Подробная информация о списке рассылки nginx-ru