Ich arbeite an Facebook Messenger.
Die Facebook-App akzeptiert nur eine URL für den Webhook, aber ngrock generiert jedes Mal eine neue URL. Jetzt kann ich meine App nicht testen, da die Webhook-URL geändert wurde.
Ich arbeite an Facebook Messenger.
Die Facebook-App akzeptiert nur eine URL für den Webhook, aber ngrock generiert jedes Mal eine neue URL. Jetzt kann ich meine App nicht testen, da die Webhook-URL geändert wurde.
Antworten:
UPDATE Mai 2020
Serveo ist wieder betriebsbereit ! Keine Installation, keine Anmeldung!
Alles, was Sie tun müssen, ist Folgendes auszuführen:
ssh -R <unique subdomain>:80:<your local host>:<your local port> serveo.net
mögen
ssh -R youruniquesubdomain:80:localhost:8000 serveo.net
UPDATE Januar 2020
Da es einige Probleme mit Serveo und localtunnel gibt , möchte ich Ihnen einen weiteren kostenlosen ssh-basierten Selbsthosting- Service vorstellen : Localhost.run
Leider bietet es keine eindeutigen Subdomains, ist jedoch ssh-basiert, sodass Sie keine zusätzlichen Anwendungen installieren müssen. Ich warte immer noch darauf, dass Serveo zurückkommt.
UPDATE April 2018
Ich habe gerade Serveo gefunden ! Und es ist total unglaublich!
UPDATE November 2017
Wahrscheinlich ist es nicht die beste Option für Sie, aber ich habe angefangen, localtunnel anstelle von ngrok zu verwenden .
Ein Installations- und Ausführungsablauf ist sehr einfach:
npm install -g localtunnel
lt --port <your localhost port> --subdomain youruniquesubdomain
Dann kann ich zu meiner http://youruniquesubdomain.localtunnel.me gehen. Das war's!
subdomain.localhost
URL ausgeführt. Dieses Tool macht genau das, was ich brauchte. Danke für den Vorschlag.
until ssh -R aw2xcd:80:localhost:5000 serveo.net; do echo "Restarting..."; done
Keine kostenlose Subdomain-Unterstützung mehr von ngrok ..... pls haben einen Fehler wie unten
Tunnelsitzung fehlgeschlagen: Nur kostenpflichtige Pläne können benutzerdefinierte Subdomains binden. Fehler beim Binden der benutzerdefinierten Subdomain 'arvindpattartestfb.ngrok.io' für das Konto 'arvccccc'. Dieses Konto ist im 'Free'-Plan enthalten.
Aktualisieren Sie auf einen kostenpflichtigen Tarif unter: 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
.
Sie müssen das Authentifizierungstoken einrichten, das Sie hier finden: https://dashboard.ngrok.com/auth . (W̶o̶r̶k̶s̶ ̶w̶i̶t̶h̶ ̶f̶r̶e̶e̶ ̶v̶e̶r̶s̶i̶o̶n̶, ̶n̶o̶ ̶n̶e̶e̶d̶ ̶t̶o̶ ̶p̶a̶y̶ Anscheinend ist es jetzt kostenpflichtig, siehe ngrok Preise ).
Dann können Sie es so verwenden:
ngrok http 80 -subdomain yoursubdomain
ngrok version 2.0.19
installiert, und wenn ich es starte, ngrok http 80 -subdomain yoursubdomain
funktioniert es einwandfrei. Aber wie gesagt, Token muss eingerichtet werden. Wenn ich mein Token entferne, wird der gleiche Fehler angezeigt. Vielleicht ist mein Konto etwas Besonderes, aber ich bezahle nicht dafür.
ERR_NGROK_313
wenn der obige Befehl mit einem verwendeten Authentifizierungstoken ausgeführt wird.
Weder localtunnel.me noch Serveo arbeiten derzeit für mich, daher habe ich eine temporäre Lösung erstellt, die für einige Anwendungsfälle geeignet ist, einschließlich meiner ( ngrok
reaktionsnative lokale Entwicklung): Mit dem npm-Paket kann die generierte ngrok-URL in einer json-Datei gespeichert werden , und diese Datei kann für jede andere App gelesen werden.
Stellen Sie zunächst sicher, dass Sie ngrok mithilfe npm install ngrok
dieses Knotenskripts installieren :
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);
})();
Dann können Sie es von Ihrer App aus mit ähnlichem oder gleichem Code lesen:
const backend = require('./config.json').domain;
einfach für die lokale DHIS2-Installation habe ich dies auf termainl auf ubunut server gemacht.
Stellen Sie sicher, dass Ihr Web auf dem angegebenen Port ausgeführt wird. meins war auf 8080.
ssh -R dani.serveo.net:80:localhost:8080 serveo.net
Das Schöne an diesem Serveo.net ist, dass Sie denselben Hostnamen ... Präfix-URL vor Servo.net so oft wie gewünscht wiederherstellen können, selbst wenn der Strom ausfällt oder die Internetverbindung unterbrochen wird.
Prost!
Obwohl es keine Lösung ist, sondern es als Problemumgehung betrachtet, hatte ich beim Testen das gleiche Problem. Was ich getan habe, ist, das ngrok mit meinem http-Port am Laufen zu halten, damit sich meine ngrok-URL nicht ändert. Ich ändere jedoch häufig meinen Server und starte ihn neu, um ihn zu testen und zu debuggen.
Der Staqlab-Tunnel stellt eine Domain kostenlos zur Verfügung. Es funktioniert großartig, benötigt aber eine Binärdatei, um von der Website heruntergeladen zu werden. Verwenden Sie diesen Service monatelang ohne Probleme