wbhook 通过 ngrok 连接到本地 node.js 服务器,服务触发 Webhooks 需要密码吗?

Posted

技术标签:

【中文标题】wbhook 通过 ngrok 连接到本地 node.js 服务器,服务触发 Webhooks 需要密码吗?【英文标题】:wbhook to local node.js server via ngrok, will service triggering Webhooks need password? 【发布时间】:2020-12-03 23:21:30 【问题描述】:

我已经使用 ngrok 建立了一个隧道。我这样做主要是为了能够从我们的服务器通过 Webhook 集成的服务中获取回调,同时在开发和测试期间在本地机器上运行。

我保留了一个域,例如:

123.ngrok.io

当我在本地运行我的服务器时,隧道已设置好,我可以通过浏览器访问它并转到 123.ngrok.io,但是,当我这样做时,浏览器会要求我进行身份验证:

我的问题是这样的:

调用 Webhook 到 123.ngrok.io 的服务是否需要进行身份验证?如果是这样,我不知道如何使它工作。

最终,我需要 Webhook 像在直播时那样运行,不需要身份验证。

ngrok 是否会因为身份验证而阻止来自各种服务的 Webhook 调用?

更新:

我已经测试了访问我保留的 ngrok 域的 Webhook,例如 123.ngrok.io。在该域中点击该 Webhook 的服务被触发,但返回 401 Unauthorized

ngrok 似乎没有让 Webhook 通过。我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

因此,当服务试图通过在 ngrok 上的连接调用中注释掉 auth 行来尝试访问保留域时,我最终摆脱了 401 错误:

const result = await ngrok.connect(
            proto: 'http',
            addr: PORT,
            // auth: `$process.env.NGROK_USER:$process.env.NGROK_PSW`,
            subdomain: '123' // reserved tunnel name 123.ngrok.io
        )

这解决了我的问题。

【讨论】:

以上是关于wbhook 通过 ngrok 连接到本地 node.js 服务器,服务触发 Webhooks 需要密码吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Ngrok 从 AWS Lambda 连接到本地 PostgreSQL

有没有办法使用 Ngrok 将 Azure 机器人服务连接到本地托管的机器人?

使用 ngrok 创建隧道以连接到 MongoDB 本地数据库

如何通过 ssh 连接到 ngrok 自托管服务器

连接到 *** 时如何使用 ngrok 进行隧道传输?

通过终端发送 Ngrok 随机端口号