我正在使用Facebook Messenger。
Facebook应用仅接受一个Webhook网址,但是ngrock每次都会生成新的网址。现在由于webhook URL更改,我无法测试我的应用程序。
Answers:
2020年5月更新
Serveo重新启动并运行!没有安装,没有注册!
您所需要做的就是运行此命令:
ssh -R <unique subdomain>:80:<your local host>:<your local port> serveo.net
喜欢
ssh -R youruniquesubdomain:80:localhost:8000 serveo.net
2020年1月更新
因为有一些问题,Serveo和localtunnel,我想与大家分享另一种免费的基于SSH-自托管服务:Localhost.run
不幸的是,它不提供唯一的子域,但它是基于ssh的,因此您不必安装其他应用程序。仍在等待Serveo回来。
2018年4月更新
我刚刚找到了Serveo!这简直是不可思议!
2017年11月更新
也许,这是不是你最好的选择,但我开始使用localtunnel代替ngrok。
安装和运行流程非常简单:
npm install -g localtunnel
lt --port <your localhost port> --subdomain youruniquesubdomain
然后,我可以进入我的http://youruniquesubdomain.localtunnel.me 。
subdomain.localhost
URL上。该工具完全可以满足我的需求。谢谢你的建议。
until ssh -R aw2xcd:80:localhost:5000 serveo.net; do echo "Restarting..."; done
ngrok ..... pls不再提供免费的子域支持,出现以下错误
隧道会话失败:仅付费计划可以绑定自定义子域。无法为帐户“ arvccccc”绑定自定义子域“ arvindpattartestfb.ngrok.io”。此帐户处于“免费”计划中。
升级到付费计划:https://dashboard.ngrok.com/billing/plan
ERR_NGROK_313
Tunnel session failed: Only paid plans may bind custom subdomains... Sign up at: https://ngrok.com/signup. If you have already signed up, make sure your authtoken is installed. Your authtoken is available on your dashboard: https://dashboard.ngrok.com
。
您需要设置auth令牌,您可以在这里找到https://dashboard.ngrok.com/auth。(W̶o̶r̶k̶s̶̶w̶i̶t̶h̶̶f̶r̶e̶e̶e̶v̶e̶r̶s̶i̶o̶n̶,̶n̶o̶̶n̶e̶e̶d̶̶t̶o̶p̶a̶y̶显然已经付款,请参阅ngrok定价)。
然后,您可以像这样使用它:
ngrok http 80 -subdomain yoursubdomain
ngrok version 2.0.19
安装好了,当我运行ngrok http 80 -subdomain yoursubdomain
它时就可以正常工作。但是正如我所说,必须设置令牌。当我删除令牌时,我也遇到同样的错误。也许我的帐户有点特殊,但我没有为此付费。
ERR_NGROK_313
当使用身份验证令牌运行上述命令时,版本2.2.8给出了。
localtunnel.me或Serveo都不适用于我,因此我创建了一个临时解决方案,该解决方案适用于包括我的某些用例(本机本地开发):使用ngrok
npm包可以将生成的ngrok url保存到json文件,并且可以为任何其他应用读取该文件。
首先,请确保使用安装ngrok,npm install 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;
Staqlab隧道免费提供域。它的工作原理很棒,但需要从该网站下载二进制文件。每月使用此服务不会有任何麻烦