node.js - 如何在不使用 Node.js 打开传入端口的情况下反向代理到本地服务器

标签 node.js firewall vpn node-http-proxy

我有一个本地网络服务器,它只能传出互联网访问。 我在云端有一个公共(public)服务器,它无法直接访问我的本地Web服务器。

我想找到一种方法,让我的本地 Web 服务器连接到公共(public)服务器,并让公共(public)服务器充当反向代理,将 Web 请求转发到我的本地 Web 服务器,并将响应返回到公共(public)服务器。

我一直在研究node-http-proxy,尝试使用公共(public)服务器将http请求转发到另一个没有打开传入端口的本地Web服务器。但似乎node-http-proxy假设反向代理服务器可以访问本地网络。

有什么解决办法吗?

谢谢。

最佳答案

代理通常面向一组连接。您在这里真正要问的是如何向私有(private)网络服务器发出请求,而无法发起与它的通信。鉴于 HTTP 的本质,我不确定是否存在某种东西。

您可以尝试使用安全隧道(openVPN 或 stunnel 等)来解决此问题,您可以在服务器之间从“内向外”建立链接,然后通过该链接以预期方向建立连接。但您基本上是向该主机开放 protected 服务器,这可能比您想要的暴露更多。

关于node.js - 如何在不使用 Node.js 打开传入端口的情况下反向代理到本地服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671145/

相关文章:

用于 Visual Studio 的 Node.js 工具总是在出现异常时停止

javascript - 机器人框架 : How to stop a ChoicePrompt from RePrompting

javascript - Express js 4,Parse.com JSON 错误

networking - 防火墙如何知道不阻止响应数据包?

c++ - 如何允许来 self 的应用程序 C++ 的请求 ICMPv4? Windows 8.1+

ftp - 通过 VPN 连接到 FTP

ios - wireguard ios,路由 ip+net : sysctl: operation not supported

node.js - 如何修复 NodeJS 中的 'Redirect problem' 错误?

for-loop - for 循环在 CMD 提示符下工作但不在批处理文件中 - for 循环被复制粘贴

ssh - 如何设置防火墙规则以仅允许SSH从Google Cloud Console进入实例