Lan*_*ard 6 http remote-access tunneling node.js
像ngrok和localtunnel这样的服务存在,因此您可以(我不太热衷于描述这一点)将您的 localhost 放在公共网络上,以便通过公共 URL 进行访问。本地隧道似乎更受欢迎。
我的问题是,在一般层面/高层概述之类的事情上,你自己如何实现这一点?比如,我如何创建一个域mydomain.com
,然后让它像这样的 cli 命令mydomain create-tunnel
将返回一个唯一的 URL12345.mydomain.com
或其他什么,然后我可以从该唯一的 URL 访问我的本地主机。
我知道如何构建 CLI 和 RESTful Web 应用程序,但我不知道本地主机和公共 URL 之间的连接是在哪里建立的。我不知道如何在公共 URL 上托管我的本地主机(仅限 https URL)。
如果我尝试仔细考虑一下,我可能会尝试搜索HTTP 隧道,这导致了隧道协议。HTTP 隧道页面没有透露太多内容。我认为隧道协议页面的级别太低了,我想我正在询问更高的级别。
但如果我尝试想象会发生什么......浏览器向 上的 URL 发出请求mydomain.com
。然后,它与我的本地计算机上的 HTTPS 服务器已经打开了 HTTPS 连接。它将请求代理到本地计算机的 HTTPS 服务器。然后向本地主机发出请求。也就是说,它将来自本地 HTTPS 服务器的请求代理到我实际关注的任何本地主机服务器。它向本地主机服务器发出请求,然后获得响应。将响应通过管道传送回远程计算机,然后该远程计算机将其通过管道传送回浏览器。
另外,在安全方面有什么我需要担心的吗(无论是在构建安全隧道应用程序方面,还是在如何绕过防火墙方面,可以说使用这样的东西)?
也许我应该看看这里:)。
我发现这个问题没有答案,我也遇到了同样的问题。其基础是两个概念:
反向端口转发:从本地计算机连接到公共主机(必须获得授权)的 ssh 连接,并要求将特定端口上的所有传入请求转发到 ssh 连接请求开始的本地计算机。例如,在您的本地计算机上,您在端口 8080 上有一个 Web 服务器,并且您希望从您知道用户的用户名和密码的公共域服务器访问它:
ssh -N -R 80:localhost:8080 serveruser@my.public.host.com
现在您可以通过调用公共服务器的 80 端口来访问本地 Web 服务器。
我认为这就是它的运作方式。
归档时间: |
|
查看次数: |
1798 次 |
最近记录: |