- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想了解如何将我的本地 IP 地址 (localhost) 暴露给 Internet。为此,我已阅读 [here]一种使用 SSH 进行端口转发的方法。这基本上是使用 SSH 从公开可用的服务器路由到我们的本地主机。
但我想知道像“LocalTunnel”这样的服务是如何工作的?在上面的文章中它是这样写的:
There services (localtunnel for example) creates a tunnel from their server back to port 3000 on your dev box. It functions pretty much exactly like an SSH tunnel, but doesn’t require that you have a server.
最佳答案
简答 (TL;DR)
远程(即您计算机上的 localtunnel 软件)初始化与中继(即 localtunnel.me)的连接,充当多路复用代理,当客户端(即 Web 浏览器)连接时,中继通过附加特殊带有网络信息的 header 。
Browser <--\ /--> Device
Browser <---- M-PROXY Service ----> Device
Browser <--/ \--> Device
How does a remote client access the server on my localhost?
Devices: [Your Computer] (tcp 1234:7777) [Proxy Server]
Software: [Remote] -----------------------> [Relay]
(auth & request 5678)
Devices: [Proxy Service] (tcp 5678) [Client Computer]
Software: [Relay] <------------------------ [netcat]
Internal Relay "Routing Table"
Rule:
Socket remote[src:1234] --- Captures ------> ALL_INCOMING[dst:5678]
Condition:
Incoming client[dst:5678] --- MATCHES -------> ALL_INCOMING[dst:5678]
Therefore:
Incoming client[dst:5678] --- Forwards To ---> remote[src:1234]
[Client Computer] (tcp 5678) [Proxy Service] (tcp 1234) [Your Computer]
[netcat] --------------> <--[Relay]--> <------------ [remote]
Browser <--\ /--> Device
Browser <---- M-PROXY Service ----> Device
Browser <--/ \--> Device
<src-address>,<src-port>,<sni>,<dst-port>,<protocol-guess>,<datalen>
172.2.3.4,1234,example.com,443,https,1024
[Client Computer] (https 443) [Proxy Service] (wss 443) [Your Computer]
[netcat+openssl] --------------------> <--[Relay]--> <------------ [remote]
(or web browser) (sni:xyz.somerelay.com) (sni:somerelay.com)
关于node.js - 在没有 SSH 的情况下,像 'Localtunnel' 这样的隧道服务如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52596901/
我一直在使用 localtunnel很长一段时间,现在我想知道它是如何工作的。 Here是我读过的一篇解释相同的文章。 以下是我在上面的文章中不理解的几个术语: the localtunnel ser
我正在使用 Node js 作为服务器。使用 localtunnel 时是否必须配置 index.js 文件?提交表单时,我必须指定哪个 URL?我应该使用 localtunnel 提供的 URL 吗
我正在使用 localtunnel v1 .但是我发现v2允许你自定义子域,我需要这个功能。 我遵循了 repository 的 README 中描述的教程,但它在几个方面让我感到困惑,最后,它没有用
我尝试使用以下命令运行localtunnel: localtunnel 3000 并得到此错误: [Error] Unable to register tunnel. Perhaps service
我有一个网站,该网站跨到本地服务器,一个用于前端,位于 localhost:3000,另一个用于位于 localhost:3001 的restapi 我想使用 localtunnel 或 ngrok
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以
我正在使用 localtunnel 公开我的后端和前端。现在,我有一个像这样的非常简单的设置: const httpServer = require('http').createServer(); c
服务如 ngrok和 localtunnel存在这样你就可以(我不太热衷于描述这一点)将你的本地主机放在公共(public)网络上以访问公共(public) URL。 Localtunnel显得更受欢
我正在尝试在Ubuntu上设置localtunnel,但我不断收到错误消息: your url is: undefined /usr/local/lib/node_modules/localtunne
按照 http://progrium.com/localtunnel/ 的说明和其他地方: gem install localtunnel localtunnel -k ~/.ssh/id_rsa.p
我正在使用 localtunnel.me ( https://github.com/localtunnel/localtunnel ) 创建到我的本地主机的连接。我在终端使用以下命令: lt --po
我想了解如何将我的本地 IP 地址 (localhost) 暴露给 Internet。为此,我已阅读 [here]一种使用 SSH 进行端口转发的方法。这基本上是使用 SSH 从公开可用的服务器路由到
我想使用ngrok在端口 4000 上,这是一个将导出 Forwarding 的命令网址。每次运行时都会有一个新的随机生成的 URL。 我想传递该网址 http://2e1v870f.ngrok.io
我正在尝试在Ubuntu上设置本地隧道,但我一直收到错误:。我正在使用Xampp。这可能是什么问题呢?。谢谢大家。
我是一名优秀的程序员,十分优秀!