• Top
  • Search
  • About
  • Privacy Policy
ngrok

概要

localhostで動かしているサイトをhttpsで外部公開したいときにngrokというツールが便利だったのでそのメモです。

ngrokとは

ngrok とは、ローカル環境で動かしているサーバープロセスを、外部からアクセスできるようにできるツールです。
毎回ランダムのURLが起動時に振り当てられますが、httphttpsのどちらでも外部からアクセスできるようになります。

インストール

今回はMacでのインストールを想定して、brewでインストールします。

$ brew cask install ngrok

公式サイト からもダウンロードできます。
上記のサイトからダウンロードした場合は、任意のディレクトリに解凍してから使ってください。

基本的な使い方

使い方はとても簡単です。
以下のコマンドを打つだけで、localhostで動いている指定のポートが外部公開されます。(今回は3000番ポートを指定)

$ ngrok http 3000

ngrokが実行されると、ターミナルに以下のような情報が表示されます。

Session Status                         online
Session Expires                       7 hours, 14 minutes
Version                                     2.3.35
Region                                      United States (us)
Web Interface                          http://127.0.0.1:4040
Forwarding                               http://xxxxxxxxx.ngrok.io -> http://localhost:3000
Forwarding                               https://xxxxxxxxx.ngrok.io -> http://localhost:3000

xxxxxxxxxの部分が毎回ランダムに振り当てられます。
Forwardingの後に表示されたURLからhttp://localhost:3000にアクセスできます。

ウェブインターフェイス

ngrokを実行した状態でhttp://127.0.0.1:4040にアクセスすると、現在のプロセスの詳細を見ることができます。

アカウント登録

無料の アカウント登録 を行うと以下の機能が使えるようになります。

  • サブドメインの指定
  • パスワード保護(BASIC認証)

他にも有料プランなどがあるので興味のある方は、ぜひ登録してみてください。

その他の機能

ngrokは任意のポートのTCP通信を外部に公開することができます。
ngrok tcp 22とするとSSHサーバーとしても利用することがきます。

まとめ

ngrokを使うとローカル環境で動いているサイトなどが手軽にhttpsで外部公開できます。
サイトのテストや一時的に外部公開したい時に便利そうですね。