
Teilen Sie:
Benjamin Aronov ist ein Entwickler-Befürworter bei Vonage. Er ist ein bewährter Community Builder mit einem Hintergrund in Ruby on Rails. Benjamin genießt die Strände von Tel Aviv, das er sein Zuhause nennt. Von Tel Aviv aus kann er einige der besten Startup-Gründer der Welt treffen und von ihnen lernen. Außerhalb der Tech-Branche reist Benjamin gerne um die Welt auf der Suche nach dem perfekten Pain au Chocolat.
Verwendung von ngrok in Rails im Jahr 2025
Lesedauer: 3 Minuten
Dieser Artikel wurde im März 2025 aktualisiert.
In der Entwicklung gibt es viele Situationen, in denen ein lokaler Server nicht ausreicht. In solchen Fällen können wir ein raffiniertes Werkzeug namens ngrok. ngrok erstellt Tunnel. Diese Tunnel verbinden Ihre lokale Codebasis mit einer öffentlichen Site, ohne dass Sie eine lästige Konfiguration vornehmen müssen. Der Hauptanwendungsfall für Vonage-Entwickler ist die Verwendung einer API, die auf Webhooks angewiesen ist, um automatisierte Informationen zu senden. Sie können mehr darüber lesen in Testen mit ngrok in unseren Entwicklerportal-Tools.
Der Anwendungsfall, der uns in diesem Artikel interessiert, ist die Verwendung von ngrok mit Ruby on Rails bei der Erstellung eines Projekts, auf das andere Benutzer über ihren Browser zugreifen können. Dies ermöglicht eine möglichst realistische Simulation. Außerdem ist es ziemlich cool, etwas mit Freunden zu teilen, auch wenn man es nie öffentlich einsetzt.
Haftungsausschluss: ngrok ist für die nicht-kommerzielle Nutzung kostenlos, erfordert aber ein kostenpflichtiges Konto, wenn Ihr Produkt kommerziell ist. Eine Alternative zu ngrok ist LocalTunnel das Open Source ist und unter der MIT-Lizenz steht. Das Vonage Developer Relations Tooling Team verwendet LocalTunnel für die Arbeit mit den Vonage Client SDKs. Verwenden Sie das, was für Ihre Bedürfnisse am besten geeignet ist.
Installation von ngrok
Aus der ngrok-Dokumentation geht hervor, dass die vollständige Installation von ngrok aus drei Schritten besteht: Installation des ngrok-Agenten, Erstellen eines Kontos und anschließendes Verbinden des Agenten mit dem Konto. Und für Rails gibt es einen zusätzlichen Schritt, das Hinzufügen von ngrok zu Ihrer Entwicklungsumgebung.
Installation des Agenten
Für MacOS verwenden Sie HomeBrew:
brew install ngrokFür Linux verwenden Sie Apt:
curl -sSL https://ngrok-agent.s3.amazonaws.com/ngrok.asc \
| sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null \
&& echo "deb https://ngrok-agent.s3.amazonaws.com buster main" \
| sudo tee /etc/apt/sources.list.d/ngrok.list \
&& sudo apt update \
&& sudo apt install ngrokFür Windows, verwenden Sie Schokoladig:
choco install ngrok Extrahieren Sie den Wirkstoff
Unter Linux oder Mac OS X können Sie ngrok mit dem folgenden Befehl von einem Terminal aus entpacken. Unter Windows doppelklicken Sie einfach auf ngrok.zip, um es zu entpacken.
unzip /path/to/ngrok.zip Ein Konto erstellen
Wenn Sie noch kein Konto haben, können Sie sich auf dem ngrok-Dashboard. Wenn Sie ein Konto haben, melden Sie sich an. In jedem Fall müssen Sie mit Ihrem kostenlosen Konto Ihren Authtoken für den Netzschritt abrufen. Gehen Sie einfach hier.
Verbinden Sie Ihren Agenten mit Ihrem Konto:
Hier benötigen wir das Authtoken aus dem letzten Schritt. Mit dem Authotoken meldet sich der Agent bei Ihrem Konto an, wenn er einen Tunnel erstellt.
Führen Sie die folgende Zeile in der Befehlszeile aus. Vergessen Sie nicht, TOKEN durch Ihren aktuellen Authtoken zu ersetzen.
ngrok config add-authtoken TOKEN Laufender Ngrok
Das Beste an ngrok ist, dass es den einfachsten Befehl überhaupt hat. Nur eine einzige Zeile, um ihm mitzuteilen, welchen Port es abhören und ausliefern soll. In einer Rails-Anwendung wissen wir, dass Puma Port 3000 liebt!
ngrok http 3000 Hinzufügen von ngrok zu Ihrer Rails-Entwicklungsumgebung
In Ihrer Anwendung haben Sie eine Datei config/environments/development.rb. Diese Datei teilt Rails mit, wie es die Entwicklungsumgebung konfigurieren soll.
Hier müssen wir eine Zeile hinzufügen:
config.hosts << "\[ngrok url]"
ngrok terminal output showing active tunnel forwarding localhost:3000 to a public ngrok URL.
Zum Beispiel würde ich in dem obigen Beispiel der Ausführung von ngrok hinzufügen:
Rails.application.configure do
config.hosts << "XXXX.ngrok.app"Es ist wichtig, dass diese Zeile innerhalb des Rails.application.configure do Blocks hinzugefügt wird.
Jetzt können wir unseren Rails-Server starten:
rails sUnd jetzt ist unsere App einsatzbereit und Sie können Freunde einladen, sie auszuprobieren, indem Sie ihnen die ngrok-URL schicken.
Fortgeschrittene: Regex zum Umgang mit dynamischen ngrok-URLs
Wenn Sie ein kostenloses ngrok-Konto verwenden, wird sich die URL häufig ändern. Sie können die folgende Regex verwenden, um die Hostkonfiguration einmal festzulegen und müssen sie nie aktualisieren.
Rails.application.configure do
config.hosts << /.*\.ngrok-free\.app$/ Häufige Fehler
Dies sind einige häufige Fehler, die ich immer wieder mache, egal wie oft ich sie wiederholen muss.
Hinterlassen von https in der confg.hosts
Hinterlassen eines Leerzeichens in der config.hosts
Vergessen des Neustarts des Rails-Servers nach dem Hinzufügen oder Aktualisieren der config.hosts in der Entwicklung
Hinzufügen der config.hosts außerhalb von "Rails.application.configure do"
Beteiligen Sie sich an der Konversation
Verwenden Sie gerne ngrok oder haben Sie eine bevorzugte Alternative? Teilen Sie uns Ihre Gedanken zum Thema Werkzeugbau mit! Beteiligen Sie sich an der Diskussion auf unserem Vonage Community Slack oder senden Sie uns eine Nachricht auf Twitter.
Teilen Sie:
Benjamin Aronov ist ein Entwickler-Befürworter bei Vonage. Er ist ein bewährter Community Builder mit einem Hintergrund in Ruby on Rails. Benjamin genießt die Strände von Tel Aviv, das er sein Zuhause nennt. Von Tel Aviv aus kann er einige der besten Startup-Gründer der Welt treffen und von ihnen lernen. Außerhalb der Tech-Branche reist Benjamin gerne um die Welt auf der Suche nach dem perfekten Pain au Chocolat.