Re: Вопрос по модулю stream - хочу проксировать TCP в UDP

Roman Arutyunyan arut на nginx.com
Чт Сен 29 12:37:24 UTC 2016


Добрый день,

Пока новостей нет.

On Thu, Sep 29, 2016 at 03:34:35PM +0300, Pavel Odintsov wrote:
> Добрый день!
> 
> Нет ли новостей на этот счет? Все же хочется транслировать tcp udp запросы
> изве в бэкенд, который умеет только udp (dns сервис).
> 
> On Wednesday, 6 July 2016, Pavel Odintsov <pavel.odintsov на gmail.com> wrote:
> 
> > Тут вопрос сложный. Конкретно мне от TCP нужна возможность принять от
> > клиента не более XX байт запроса, передать их бэкэнду, забрать его
> > ответ и раздать клиенту по TCP. Мне нужен spoon feeding в чистом виде.
> >
> > Если клиент прислал запрос по TCP больше, чем 65к (сколько предельно
> > лезет в UDP) вполне разумно ожидать, что в этом случае он будет
> > дропнут.
> >
> > 2016-07-06 19:26 GMT+03:00 Konstantin Tokarev <annulen на yandex.ru
> > <javascript:;>>:
> > >
> > >
> > > 06.07.2016, 17:48, "Pavel Odintsov" <pavel.odintsov на gmail.com
> > <javascript:;>>:
> > >> Очень жаль, но технических преград получается этому нету?
> > >
> > > Протоколы, основанные на UDP, часто зависят от того, что каждая
> > датаграмма содержит независимое сообщение. Примитивное преобразование TCP
> > -> UDP, которое можно было бы сделать в универсальном сервере вроде Nginx,
> > будет разбивать непрерывный TCP-поток на датаграммы произвольным образом.
> > Если этот вариант устраивает, тогда технических препятствий действительно
> > нет. В противном случае в nginx придется реализовать отдельный протокол для
> > пересылки датаграмм через TCP, а это уже более серьезная доработка
> > >
> > >> Вопрос сугубо в том, что нет опции для поддержки этой фичи?
> > >>
> > >> On Wednesday, 6 July 2016, Roman Arutyunyan <arut на nginx.com
> > <javascript:;>> wrote:
> > >>> Добрый день,
> > >>>
> > >>> On Wed, Jul 06, 2016 at 04:55:38PM +0300, Pavel Odintsov wrote:
> > >>>> Всем привет!
> > >>>>
> > >>>> Очень нравится модуль stream - прекрасная фишка ;)
> > >>>>
> > >>>> Но захотелось немного странного, имеется UDP сервер, к которому
> > >>>> хочется добавить "быстрый" TCP и TLS силами Nginx.
> > >>>>
> > >>>> Но проблема в том, что  при вот такой конфигурации:
> > >>>> stream {
> > >>>>     upstream backend {
> > >>>>         server 127.0.0.1:1122 weight=5;
> > >>>>         server 127.0.0.22:1122 weight=1;
> > >>>>     }
> > >>>>     server {
> > >>>>         # Listen UDP
> > >>>>         listen 127.0.0.1:53 udp;
> > >>>>         # Listen TCP
> > >>>>         listen 127.0.0.1:53;
> > >>>>
> > >>>>         # Listen TLS/SSL
> > >>>>         listen 127.0.0.1:853 ssl;
> > >>>>         proxy_connect_timeout 1s;
> > >>>>         proxy_timeout 3s;
> > >>>>         proxy_pass backend;
> > >>>>         ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
> > >>>>         ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
> > >>>>     }
> > >>>> }
> > >>>>
> > >>>> Если запрос на Nginx приходит по UDP, то он отправляется на бэкэнд по
> > >>>> UDP. Если приходит по TCP либо SSL - он уходит по TCP на бэкэнд.
> > >>>>
> > >>>> Мне вот нужно, чтобы связь с бэкэндом была сугубо по UDP, но как этого
> > >>>> достичь - не понимаю.
> > >>>
> > >>> Пока никак.  Протокол проксирования всегда тот же, что и протокол
> > клиента.
> > >>>
> > >>> На текущий момент не ясно, насколько востребовано проксирование по
> > >>> другому протоколу.
> > >>>
> > >>> --
> > >>> Roman Arutyunyan
> > >>>
> > >>> _______________________________________________
> > >>> nginx-ru mailing list
> > >>> nginx-ru на nginx.org <javascript:;>
> > >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> > >>
> > >> --
> > >> Sincerely yours, Pavel Odintsov
> > >> ,
> > >>
> > >> _______________________________________________
> > >> nginx-ru mailing list
> > >> nginx-ru на nginx.org <javascript:;>
> > >> http://mailman.nginx.org/mailman/listinfo/nginx-ru
> > >
> > >
> > > --
> > > Regards,
> > > Konstantin
> > >
> > > _______________________________________________
> > > nginx-ru mailing list
> > > nginx-ru на nginx.org <javascript:;>
> > > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> >
> >
> > --
> > Sincerely yours, Pavel Odintsov
> >
> 
> 
> -- 
> Sincerely yours, Pavel Odintsov

> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


-- 
Roman Arutyunyan



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