Re: pipe to http

2018-11-13 Пенетрантность Konstantin Tokarev


13.11.2018, 18:10, "Konstantin Tokarev" :
> 07.11.2018, 03:59, "Nick Knutov" :
>>  Доброго времени суток,
>>
>>  подскажите, как лучше реализовать такую задачу:
>>
>>  запрос приходит к nginx, отправляется некоторому скрипту (uwsgi->perl),
>>  который проверяет авторизацию, и если всё ок, то необходимо запустить
>>  какой-то процесс, который отдаст много гигабайт данных в stdout и это
>>  надо отдать хттп-клиенту.
>>
>>  Причем, важно, если клиент отвалился - процесс нужно убить.
>>
>>  Сейчас я запускаю процесс скриптом и перекладываю его ответ дальше
>>  перловым скриптом, но он ест неприемлемо много проца и имеет непонятные
>>  проблемы с буферизацией и медленными клиентами.
>
> Эта задача не для nginx, а для скрипта, который должен после проверки 
> форкнуться
> и запустить нужный процесс с имеющимся клиентским tcp сокетом в качестве 
> stdout

Хотя в принципе можно и через CGI реализовать, сделав редирект на отдельный 
локейшен
где прикрутить [1] либо пасс на другой веб-сервер умеющий в CGI

[1] Где-то был скрипт для встроенного перла, реализующий поддержку CGI в nginx, 
но с ходу
найти не получилось

>
> --
> Regards,
> Konstantin
>
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

-- 
Regards,
Konstantin

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: pipe to http

2018-11-13 Пенетрантность Konstantin Tokarev


07.11.2018, 03:59, "Nick Knutov" :
> Доброго времени суток,
>
> подскажите, как лучше реализовать такую задачу:
>
> запрос приходит к nginx, отправляется некоторому скрипту (uwsgi->perl),
> который проверяет авторизацию, и если всё ок, то необходимо запустить
> какой-то процесс, который отдаст много гигабайт данных в stdout и это
> надо отдать хттп-клиенту.
>
> Причем, важно, если клиент отвалился - процесс нужно убить.
>
> Сейчас я запускаю процесс скриптом и перекладываю его ответ дальше
> перловым скриптом, но он ест неприемлемо много проца и имеет непонятные
> проблемы с буферизацией и медленными клиентами.

Эта задача не для nginx, а для скрипта, который должен после проверки форкнуться
и запустить нужный процесс с имеющимся клиентским tcp сокетом в качестве stdout

-- 
Regards,
Konstantin

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: pipe to http

2018-11-08 Пенетрантность Nick Knutov

Очевидно, но nginx ведь не умеет сам ничего запускать.
Попробовал fcgiwrap, но или я что-то делаю неправильно, или когда клиент 
отваливается - sigpipe до скрипта не доходит.



07.11.2018 12:07, Dmitriy Lyalyuev пишет:

X-Accel-Redirect похоже то, что вам нужно.

--
With best regards,
Dmitriy Lyalyuev
dmit...@lyalyuev.info 



On Nov 7, 2018, at 02:59, Nick Knutov > wrote:


Доброго времени суток,

подскажите, как лучше реализовать такую задачу:

запрос приходит к nginx, отправляется некоторому скрипту 
(uwsgi->perl), который проверяет авторизацию, и если всё ок, то 
необходимо запустить какой-то процесс, который отдаст много гигабайт 
данных в stdout и это надо отдать хттп-клиенту.


Причем, важно, если клиент отвалился - процесс нужно убить.

Сейчас я запускаю процесс скриптом и перекладываю его ответ дальше 
перловым скриптом, но он ест неприемлемо много проца и имеет 
непонятные проблемы с буферизацией и медленными клиентами. Нельзя ли 
в скрипте ограничиться чем-то вроде внутреннего редиректа и остальную 
работу сделать на уровне nginx?


--
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru




___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru


--
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Re: pipe to http

2018-11-06 Пенетрантность Dmitriy Lyalyuev
X-Accel-Redirect похоже то, что вам нужно.

-- 
With best regards,
Dmitriy Lyalyuev
dmit...@lyalyuev.info



> On Nov 7, 2018, at 02:59, Nick Knutov  wrote:
> 
> Доброго времени суток,
> 
> подскажите, как лучше реализовать такую задачу:
> 
> запрос приходит к nginx, отправляется некоторому скрипту (uwsgi->perl), 
> который проверяет авторизацию, и если всё ок, то необходимо запустить 
> какой-то процесс, который отдаст много гигабайт данных в stdout и это надо 
> отдать хттп-клиенту.
> 
> Причем, важно, если клиент отвалился - процесс нужно убить.
> 
> Сейчас я запускаю процесс скриптом и перекладываю его ответ дальше перловым 
> скриптом, но он ест неприемлемо много проца и имеет непонятные проблемы с 
> буферизацией и медленными клиентами. Нельзя ли в скрипте ограничиться чем-то 
> вроде внутреннего редиректа и остальную работу сделать на уровне nginx?
> 
> -- 
> Best Regards,
> Nick Knutov
> http://knutov.com
> ICQ: 272873706
> Voice: +7-904-84-23-130
> 
> ___
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



smime.p7s
Description: S/MIME cryptographic signature
___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru

pipe to http

2018-11-06 Пенетрантность Nick Knutov

Доброго времени суток,

подскажите, как лучше реализовать такую задачу:

запрос приходит к nginx, отправляется некоторому скрипту (uwsgi->perl), 
который проверяет авторизацию, и если всё ок, то необходимо запустить 
какой-то процесс, который отдаст много гигабайт данных в stdout и это 
надо отдать хттп-клиенту.


Причем, важно, если клиент отвалился - процесс нужно убить.

Сейчас я запускаю процесс скриптом и перекладываю его ответ дальше 
перловым скриптом, но он ест неприемлемо много проца и имеет непонятные 
проблемы с буферизацией и медленными клиентами. Нельзя ли в скрипте 
ограничиться чем-то вроде внутреннего редиректа и остальную работу 
сделать на уровне nginx?


--
Best Regards,
Nick Knutov
http://knutov.com
ICQ: 272873706
Voice: +7-904-84-23-130

___
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru