我有一个本地网络服务器,它只能传出互联网访问。 我在云端有一个公共(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/