如何向专用网络发送请求?

How do I send requests to a private network?

我正在尝试从家里连接到我在学校网络中编写的 NodeJS 服务器,以便我可以处理它。但是它在我无法访问的路由器防火墙后面。有什么方法可以让我的服务器从外部访问,以便我可以从它发出请求?

我正在考虑某种套接字连接,我的服务器试图每秒“伸出”我的家庭网络以建立我们可以使用的 link,但我不确定这是否可行或即使是最好的方法。

假设 A 是您的学校服务器,B 是您的家庭服务器,A_user 您在 A 上的用户名,B_user 分别是。关于 B.

在 B 上:假设您是 运行 linux,确保您安装了 openssh-server 并且 运行。

在答:

ssh -R 10022:localhost:22 B_user@B

这将与您在家中的服务器建立 ssh 连接并打开反向隧道。此隧道意味着 B 的端口 10022 上的任何连接都将通过第一个 ssh 连接转发到 A 的端口 22 (ssh)。

现在在 B:

ssh -p 10022 A_user@localhost

这应该会给您思路。在实践中,您会发现 ssh 隧道每隔一段时间就会停止工作。准备就绪后,请查看 autossh 以使其保持活动状态并在必要时自动重新建立它。