Добрый день! Нет ли новостей на этот счет? Все же хочется транслировать tcp udp запросы изве в бэкенд, который умеет только udp (dns сервис).
On Wednesday, 6 July 2016, Pavel Odintsov <[email protected]> wrote: > Тут вопрос сложный. Конкретно мне от TCP нужна возможность принять от > клиента не более XX байт запроса, передать их бэкэнду, забрать его > ответ и раздать клиенту по TCP. Мне нужен spoon feeding в чистом виде. > > Если клиент прислал запрос по TCP больше, чем 65к (сколько предельно > лезет в UDP) вполне разумно ожидать, что в этом случае он будет > дропнут. > > 2016-07-06 19:26 GMT+03:00 Konstantin Tokarev <[email protected] > <javascript:;>>: > > > > > > 06.07.2016, 17:48, "Pavel Odintsov" <[email protected] > <javascript:;>>: > >> Очень жаль, но технических преград получается этому нету? > > > > Протоколы, основанные на UDP, часто зависят от того, что каждая > датаграмма содержит независимое сообщение. Примитивное преобразование TCP > -> UDP, которое можно было бы сделать в универсальном сервере вроде Nginx, > будет разбивать непрерывный TCP-поток на датаграммы произвольным образом. > Если этот вариант устраивает, тогда технических препятствий действительно > нет. В противном случае в nginx придется реализовать отдельный протокол для > пересылки датаграмм через TCP, а это уже более серьезная доработка > > > >> Вопрос сугубо в том, что нет опции для поддержки этой фичи? > >> > >> On Wednesday, 6 July 2016, Roman Arutyunyan <[email protected] > <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 > >>> [email protected] <javascript:;> > >>> http://mailman.nginx.org/mailman/listinfo/nginx-ru > >> > >> -- > >> Sincerely yours, Pavel Odintsov > >> , > >> > >> _______________________________________________ > >> nginx-ru mailing list > >> [email protected] <javascript:;> > >> http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > > > -- > > Regards, > > Konstantin > > > > _______________________________________________ > > nginx-ru mailing list > > [email protected] <javascript:;> > > http://mailman.nginx.org/mailman/listinfo/nginx-ru > > > > -- > Sincerely yours, Pavel Odintsov > -- Sincerely yours, Pavel Odintsov
_______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
