假设一个遗留Linux应用程序正在UNIX域套接字/tmp/foo
上侦听.
除了通过UNIX域套接字机制与这个遗留应用程序通信之外,我希望能够通过端口(比如1234)上的TCP连接连接到它.
绑定到TCP端口1234,然后将所有传入连接重定向到UNIX域套接字/tmp/foo
的最简单方法是什么?
假设一个遗留Linux应用程序正在UNIX域套接字/tmp/foo
上侦听.
除了通过UNIX域套接字机制与这个遗留应用程序通信之外,我希望能够通过端口(比如1234)上的TCP连接连接到它.
绑定到TCP端口1234,然后将所有传入连接重定向到UNIX域套接字/tmp/foo
的最简单方法是什么?
事实证明,socat可以用来实现这一点:
socat TCP-LISTEN:1234,reuseaddr,fork UNIX-CLIENT:/tmp/foo
还有一点额外的安全性:
socat TCP-LISTEN:1234,bind=127.0.0.1,reuseaddr,fork,su=nobody,range=127.0.0.0/8 UNIX-CLIENT:/tmp/foo
这些示例已经过测试,并按预期工作.