在previous post中,我们看到了如何在Google Colab上运行Postgres,并通过psql
以及Python本身与其进行交互。这仅允许从Colab笔记本中访问数据库 - 无法从Internet上的其他应用程序或设备连接。
在这篇文章中,我们将探讨如何使用ngrok
公开公开曝光Postgres实例,从而允许任何地方的安全连接。
等待。什么是Ngrok?
ngrock是一种隧道工具,可让您通过HTTPS公开在本地计算机上运行的Web服务。这是关于NGrok的一些关键:
-
它在您本地计算机上的公共URL和端口之间创建了一个安全的隧道。这使您可以与其他人共享本地运营的服务(例如Web应用程序)。
-
运行ngrok时,它会为您提供一个映射到本地服务器的公共URL。例如,它可能会创建一个像https://abcdef.ngrok.io这样的URL,该URL隧道隧道:8080。
-
它生成的URL是Ngrok域下方的随机子域,并每次重新启动NGrok时更改。这有助于保护您的本地服务器免于直接暴露。
-
它支持TCP和HTTP(S)隧道。因此,您可以使用任何协议来公开Web服务器,数据库,API等。
-
隧道是安全的 - 它使用HTTPS并具有内置身份验证。 nGrok处理端点之间的加密和解密流量。
因此,我们可以使用ngrok
从本地网络外部访问我们的数据库,并将API暴露用于测试移动或Web客户端或我们想要的任何人。
设置Ngrok
开始,我们将在COLAB上安装Ngrok:
您可以从ngrok
门户中获取authtoken
。要验证,您可以打开Tunnels
下的Agents
选项卡,可以启动的会话。
连接另一台机器
现在,在另一台(我们的本地)计算机上,我们可以使用NGrok URL而不是Localhost到达我们的数据库。
我们将Ngrok URL与用户名,密码和数据库一起传递。由于NGrok的加密,需要SSL连接。
现在,您应该通过本地计算机连接到Colab Postgres实例!我们可以远程运行查询并与数据库进行交互。现在,您的Python应用程序可以完全访问COLAB上运行的数据库。 Ngrok隧道在幕后处理安全的通信。
其他用例
公开曝光数据库除了本地实验外开辟了许多可能性:
- 构建测试应用程序并从笔记本电脑连接
- 对客户的演示原型而无需共享colab链接
- 通过数据库将Colab工作与较大的应用程序集成
- 执行数据库支持服务的多用户测试
- 将Web应用程序连接到COLAB上的Postgres开发
ngrok可以安全地处理身份验证,因此您不必公开公开凭证或端口。这是一个非常方便的工具,用于将服务带到Colab外。
此外,可能可以在您的Google驱动器上保存数据库,然后导入您的驱动器以在会话之间继续。
结论
在这篇文章中,我们看到了如何使用Ngrok向前端口5432,并在Google COLAB上通过Web URL公开访问Postgres实例。这使我们可以安全地连接并查询其他机器,脚本和应用程序的数据库。
与Postgres和Ngrok结合使用,COLAB提供了一个强大的免费环境,用于从浏览器中开发,测试和原型制作全堆栈数据库应用程序。 Ngrok开辟了单个笔记本模型以外的新可能性,在需要时脱离了Colab。
gl,hf。