はじめまして、私はPhiと申します。
システム開発業務に携わってます。
最近は外部サービスと連携するためwebhookを開発しています。
webhookなので、オンラインURLがないとテストできないです。
毎回テストするため、elasticsbeanstalkへデプロイするのは結構面倒 + 時間かかります。
上記の解決策を探していたら、ngrokを見つけました。
NGROKとは?
ngrokとは「セキュアトンネル経由、NATおよびファイアウォールの背後にあるローカルサーバーをパブリックインターネットに公開」というサービス。
利点は?
- webhook/chat bot 開発する時にとても便利
- モバイルアプリもしくはSPAのバックエンドサーバをdebugできる
- リモートでお客さんにウェブサイトのデモを紹介できる
- ローカルサーバを別の環境(スマホ、windows/linux/macos)でテストできる
使い方
ngrokでアカウントを登録して、アプリをダウンロードしたら使えます。
アカウント登録:
このサービスは無料で使えますが、有料プランもあります。開発のみの場合は無料を使っても全然問題ないと思います。
ここで登録してください。
登録さた後、ダッシュボードへ遷移されます。
ここで認証ためのコマンドを見えます。
例:./ngrok authtoken xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
アプリダウンロードした後、例のコマンド叩いたら、ログインできます。アプリダウンロード:
ダウンロードリンクです。
私はmacOS使っていますが、windowsも大体同じです。
※下記画像はmacの画像になります
まずはダウンロードファイルを解凍します。そのあとは terminal を起動して、解凍先のフォルダーへ移ります。(私はApplications フォルダーに解凍しましたから、Applicationsへ移ります)
ここで、上記の認証コマンドを実施します。
ここまでは準備のステップは終わりました。ngrok使いしょう!
./ngrok http <port>
この簡単なコマンドでローカルサーバがパブリックインターネットに公開されます。私のローカルサーバは port 3333 で動いてますから、 ./ngrok http 3333
実施します。これは結果です。
httpsのリンクもあります、便利ですね。無料プランですから、毎回コマンド実施したらランダムURL返却されます。
ngrokのダッシュボードページでURLも見えます。
そして、コマンド実施結果の
Web Interface http:127.0.0.1:4040
をアクセスすればリクエスト詳細を検査できます。
他の機能も色々ありますが、今回の記事はここまでになります。皆様ngrokを試して楽しんでみてください!