Протокол не HTTP.
Нужен немного доработанный port forwarding.
Необходимо научиться перенаправлять входящий TCP-трафик на динамически меняемый сервер:порт. При этом нужно, чтобы при каждом приходе TCP-пакета (от обоих сторон) вызывался callback, где можно было бы читать и менять содержимое поля data.
Собственно вопросы:
- каким способом можно tcp-трафик перенаправить его на произвольный, не разрывая входящий сокет?
- какой модуль или функции nginx отвечает за обработку каждого пакета, и можно ли навесить описываемый callback.
nginx не сможет работать с не HTTP-протоколом. Нужно использовать либо средства межсетевого экрана (iptables/netfilter в linux), либо, если нужна балансировка, то другие решения, типа IPVS или HA-proxy.
Есть такой модуль: https://github.com/yaoweibin/nginx_tcp_proxy_module
Сам не пробовал, за качество не отвечу. Равно как и за возможности - решает ли он Вашу задачу. Возможно, что в этих исходниках Вы найдете ответ на свои вопросы.
Но на самом деле, Вам или HAProxy (если для балансировки) или делать свой. Так как задача какая-то не совсем стандартная.