一分钟内将本地服务器暴露到互联网上
有时,由于多种原因,我们会发现一种情况,我们需要将本地服务器暴露给互联网,也许我们需要向客户展示我们的网站,但没有足够的时间进行部署,其他情况下,我们需要从第三个服务测试 webhook,我们不想仅仅为了测试目的而创建一个新的部署。
那么,让我们开始吧。
恩格罗克
有一些服务可以帮助你在它们的服务器和你的本地机器之间建立隧道。有很多这样的服务,但我推荐的是ngrok
……
它采用免费增值模式,可以满足最基本的要求。
工作原理
我们下载并运行一个程序(ngrok),指定本地服务器监听的端口。ngrok会连接到他们的外部云服务,创建一个公共端点,将所有流量重定向到你的服务器。就是这样,很简单。
下载和设置
- 从官方网站下载
- 解压
/path/to/ngrok.zip
到任意文件夹 - 在任意端口开启 HTTP 隧道。我们先在 80 端口开启。
$ ./ngrok http 80 # this command should be run from where ngrok was unzipped
...........
Web Interface http://127.0.0.1:4040
Forwarding http://82330e5b.ngrok.io -> localhost:80
Forwarding https://82330e5b.ngrok.io -> localhost:80
...........
就这样。我们只需要在 80 端口运行我们的 Web 服务器并开始接收流量。
如果您想测试一下,您可以使用 curl 向我们的公共 ngrok 域名发送请求,http://82330e5b.ngrok.io
或者直接在浏览器中打开它。此外,ngrok 允许https
连接,这在我们测试需要安全连接的外部服务时非常有用。
注意:请记住您需要在端口 80 上运行本地服务器(对于此示例)。
$ curl -v http://82330e5b.ngrok.io
您可以使用 ngrok 内置仪表板查看所有请求详细信息http://localhost:4040
就这样。对一些人来说,这看起来可能只是个小任务,但对于初学者来说,这是一个起点。
如果你喜欢它,请传播它。
披露:这是为了测试目的,如果您正在处理敏感数据,请避免使用此方法,因为您的所有流量都将通过第三方服务。
文章来源:https://dev.to/levivm/exusing-localhost-server-to-the-internet-in-one-million-2713