使用 ngrok SDK 实现应用程序内网穿透

2024-09-08 12:29:58 浏览数 (3)

ngrok 除了可以通过命令行的方式使用以外,还可以通过 SDK 的方式来实现。ngrok针对主要的编程语言都提供了 SDK,这里以 node.js 为例,看看如何使用 ngrok SDK 实现应用程序内网穿透。

1. 创建node工程

代码语言:javascript复制
mkdir myngrok
cd myngrok
npm init -y

2. 安装 ngrok SDK

代码语言:javascript复制
npm install @ngrok/ngrok

3. 使用 ngrok SDK

代码语言:javascript复制
const http = require('http');
const ngrok = require('@ngrok/ngrok');

// Create webserver
http.createServer((req, res) => {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end('hello, ngrok web server');
}).listen(8080, () => console.log('Node.js web server at 8080 is running...'));

// Get your endpoint online
ngrok.connect({ addr: 8080, authtoken_from_env: true })
    .then(listener => console.log(`Ingress established at: ${listener.url()}`));

4. 运行应用程序

代码语言:javascript复制
NGROK_AUTHTOKEN=<YOUR_AUTH_TOKEN> node index.js

替换 <YOUR_AUTH_TOKEN> 为 ngrok 网站上注册的令牌。

运行后会得到类似下面的输出

代码语言:javascript复制
Node.js web server at 8080 is running...
Ingress established at: https://9e5d-58-247-78-82.ngrok-free.app

5. 验证

访问 https://9e5d-58-247-78-82.ngrok-free.app,可以看到页面显示 hello, ngrok web server。

0 人点赞