ngrok是一款功能强大的反向代理工具,它能够在公网上创建一个安全隧道,将本地网络的服务暴露出去,使得外部用户可以直接访问这些服务。在使用ngrok的过程中,我们可以很方便地访问Web应用、SSH通道、物联网设备等,并且配置简单、易于使用,能够大大提升我们的开发效率。本篇文章将介绍如何使用ngrok来访问Oracle数据库,具体操作步骤如下。
第一步:下载配置ngrok。
$ wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip
$ unzip ngrok-stable-linux-amd64.zip
第二步:注册ngrok账号并登陆。
在命令行中执行以下命令:
$ ./ngrok authtoken [your_token]
这里的[your_token]是你在ngrok官网上注册时获取到的token。如果你还没有注册账号,可以在官网上进行注册。
第三步:启动ngrok程序。
$ ./ngrok tcp [port_number]
这里的[port_number]是你本地Oracle服务所使用的端口号。启动成功后,你会看到以下输出:
ngrok by @inconshreveable (Ctrl+C to quit)
Tunnel Status online
Version 2.3.40
Region United States (us)
Web Interface http://127.0.0.1:4040
Forwarding tcp://0.tcp.ngrok.io:12345 ->localhost:[port_number]
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
上面的输出中,Forwarding部分显示了你创建的隧道的地址和端口号。这里的tcp://0.tcp.ngrok.io:12345就是你要使用的地址和端口号。请注意,不要关闭ngrok程序,否则隧道将会失效。
第四步:在Oracle中配置监听器。
在Oracle的listener.ora文件中添加以下内容:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(SID_NAME = orcl)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.tcp.ngrok.io)(PORT = 12345))
)
)
这里的orcl是你的数据库实例名,/u01/app/oracle/product/11.2.0/xe是你的Oracle安装路径。HOST和PORT的值需要替换为你之前启动ngrok时显示的地址和端口号。
第五步:测试访问。
在命令行运行以下命令:
$ sqlplus username/password@//0.tcp.ngrok.io:12345/orcl
这里的username和password是你的Oracle账号和密码,//0.tcp.ngrok.io:12345/orcl对应的是你之前在listener.ora中配置的地址和端口号以及实例名。
至此,你已经成功地通过ngrok访问了本地Oracle数据库。ngrok的使用非常灵活,你可以根据自己的需求来配置参数并扩展功能,使得整个开发流程更加便捷高效。