如何使用ngrok生成固定URL

时间:2016-06-27 09:21:36

标签: ngrok

我正在使用facebook messenger。 Facebook应用程序只接受webhook的一个URL,但ngrock每次都会生成新的URL。现在我无法测试我的应用程序,因为webhook url已更改。

9 个答案:

答案 0 :(得分:94)

可能它不适合您,但我开始使用localtunnel代替ngrok

安装和运行流程非常简单:

npm install -g localtunnel
lt --port <your localhost port> --subdomain youruniquesubdomain

然后我可以去我的http://youruniquesubdomain.localtunnel.me 就是这样!

难以置信的更新

我刚刚找到了Serveo!它真是令人难以置信! 没有安装,没有注册!

您需要做的就是运行:

ssh -R <unique subdomain>:80:<your local host>:<your local port> serveo.net

ssh -R youruniquesubdomain:80:localhost:8000 serveo.net

答案 1 :(得分:11)

ngrok不再提供免费子域名支持.....请错误,如下所示

隧道会话失败:只有付费计划可能会绑定自定义子域。 无法绑定自定义子域&#39; arvindpattartestfb.ngrok.io&#39;对于帐户&#39; arvccccc&#39;。 此帐户位于&#39;免费&#39;计划。

升级到付款计划:https://dashboard.ngrok.com/billing/plan

ERR_NGROK_313

答案 2 :(得分:4)

似乎ngrok完全放弃了免费套餐的子域名:https://ngrok.com/product#pricing

答案 3 :(得分:3)

您需要设置可在此处找到的身份验证令牌https://dashboard.ngrok.com/auth。 (适用于免费版,无需付费)。

然后你可以像这样使用它:

ngrok http 80 -subdomain yoursubdomain

答案 4 :(得分:1)

虽然它不是一个解决方案,但是把它作为解决方法,我在测试时遇到了同样的问题。我所做的是保持ngrok运行我的http端口,所以我的ngrok网址没有改变。但我经常更改并重新启动我的服务器以进行测试和调试。

答案 5 :(得分:1)

localtunnel.me或Serveo都不在为我工作,因此我创建了一个临时解决方案,该解决方案适用于包括我的某些情况(本地本机开发):使用ngrok npm包可以节省将生成的ngrok url转换成一个json文件,该文件可以为其他任何应用读取。

首先请确保使用npm install ngrok安装ngrok,然后使用以下节点脚本:

const ngrok = require('ngrok');
const fs = require('fs').promises;

(async function() {
  const url = await ngrok.connect(3000);
  const api = ngrok.getApi();
  let data = await api.get('api/tunnels');
  data = JSON.parse(data);
  let dict = {'domain': data.tunnels[0].public_url}
  await fs.writeFile("config.json", JSON.stringify(dict));
  console.log("saved " + data.tunnels[0].public_url);
})();

然后从您的应用中,您可以使用类似于或等于以下代码的代码来读取它:

const backend = require('./config.json').domain;

答案 6 :(得分:0)

对于DHIS2本地安装,我是在ubunut服务器上的termainl上完成的。

确保您的网站在指定端口上运行。我的是8080年。

  

ssh -R dani.serveo.net:80:localhost:8080 serveo.net

此servo.net的优点在于,即使电源关闭或Internet断开连接,您也可以根据需要多次在servo.net之前恢复相同的主机名..prefix url。

欢呼!

答案 7 :(得分:0)

Staqlab隧道免费提供域。它的工作原理很棒,但需要从该网站下载二进制文件。每月使用此服务无需麻烦

答案 8 :(得分:-3)

可以使用没有付费套餐的自定义子域名,只要您使用.ngrok.io结束域名:

ngrok http 3000 -subdomain saxid-facebook-app-x9duw8b7.ngrok.io

请确保选择一些独特的内容,因为如果没有付费方案,则此子域名不会保留,并且在不使用时仍可以使用。