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

Konstantin Tokarev annulen на yandex.ru
Ср Июл 6 16:26:47 UTC 2016



06.07.2016, 17:48, "Pavel Odintsov" <pavel.odintsov на gmail.com>:
> Очень жаль, но технических преград получается этому нету?

Протоколы, основанные на UDP, часто зависят от того, что каждая датаграмма содержит независимое сообщение. Примитивное преобразование TCP -> UDP, которое можно было бы сделать в универсальном сервере вроде Nginx, будет разбивать непрерывный TCP-поток на датаграммы произвольным образом. Если этот вариант устраивает, тогда технических препятствий действительно нет. В противном случае в nginx придется реализовать отдельный протокол для пересылки датаграмм через TCP, а это уже более серьезная доработка

> Вопрос сугубо в том, что нет опции для поддержки этой фичи?
>
> On Wednesday, 6 July 2016, Roman Arutyunyan <arut на nginx.com> 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
>> http://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> --
> Sincerely yours, Pavel Odintsov
> ,
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru на nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


-- 
Regards,
Konstantin



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