2

给定一个在机器 A 上创建到机器 B 的 ssh 隧道,使用例如

ssh -D 9999 user@remote-server-ip-machine-B

在 php 中,如何使用 stream_socket_client() 从机器 A 向机器 C 发出请求,以便通过上述隧道发出这些请求,例如

$socket = stream_socket_client("tls://$ip-machine-C:$port", $errno,$errstr, 60, STREAM_CLIENT_CONNECT, $context);

换句话说,请求必须源自在机器 A 上运行的 php 脚本,向机器 C 发出请求,但对于机器 C,请求必须看起来像是来自机器 B(与机器 C 建立的连接需要使用 tls)。

或者,有没有办法在没有 ssh 隧道的情况下直接在 php 中实现相同的最终结果?对此的任何帮助将不胜感激

4

1 回答 1

1

我发现解决这个问题的最好方法是使用像OpenVPN这样的 VPN (将机器 A 连接到机器 B)或非常有用的脚本sshuttle,它是一个透明的代理服务器,可以作为穷人的 VPN。

于 2012-03-17T22:49:44.353 回答