Colab + Postgres + Ngrok:三重奏!
#编程 #教程 #python #postgres

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 install and run

您可以从ngrok门户中获取authtoken。要验证,您可以打开Tunnels下的Agents选项卡,可以启动的会话。

ngrok session

连接另一台机器

现在,在另一台(我们的本地)计算机上,我们可以使用NGrok URL而不是Localhost到达我们的数据库。

我们将Ngrok URL与用户名,密码和数据库一起传递。由于NGrok的加密,需要SSL连接。

local notebook

现在,您应该通过本地计算机连接到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。