ngrok(エングロック)とは
ローカル上で実行しているwebサーバーを、一時的にインターネット上でアクセス可能にすることができる、いわゆる「トンネリングツール」の一種。
使用例としてlocalhostのweb画面等を簡単に外部の誰かに共有することができる。
導入
・アカウント作成
ngrok公式サイトにて行う。
GitHubアカウント、Googleアカウントでも作成できる。
・インストール
Setup & Installationからツールのダウンロードを行う。
Agentsから利用するOSを選択し、インストール方法を選択する。
ダウンロードしたngrok.exeを実行し、「Run the following command to add your authtoken to the default ngrok.yml configuration file.」部に表示されている下記コマンドを実行する。
ngrok config add-authtoken ****
公開
ローカル上で実行しているwebサーバーのポートを下記形式で実行(deploy)することで、
外部公開用のURLが払い出される。
ngrok http 8080
実行例
ngrok (Ctrl+C to quit)
?Found a bug? Let us know: https://github.com/ngrok/ngrok
Session Status online
Account XXXXXXXX (Plan: Free)
Version 3.18.4
Region Japan (jp)
Latency 27ms
Web Interface http://127.0.0.1:4040
Forwarding https://XXXX-XX-XX-XXX-XX.ngrok-free.app -> http://localhost:8080
Connections ttl opn rt1 rt5 p50 p90
0 0 0.00 0.00 0.00 0.00
上記のForwardingに表示されているhttps://XXXX-XX-XX-XXX-XX.ngrok-free.app 部が外部アクセス用のURLになる。
外部アクセス用のURLはランダムな一時的なURLとなるので、deploy毎に変わる。
オプション
パスワード設定
authオプションでbasic認証を設定することができる。
ngrok http 8080 --basic-auth ユーザー名:8文字以上のパスワード
余談
ngrokを知った経緯は自宅のネットワーク環境だとポート開放しての外部公開が不可能だった為、ツールを使用しての共有法を模索している際に知り、手軽に公開できるという点で利用した。