概要
localhost
で動かしているサイトをhttps
で外部公開したいときにngrok
というツールが便利だったのでそのメモです。
ngrokとは
ngrok とは、ローカル環境で動かしているサーバープロセスを、外部からアクセスできるようにできるツールです。
毎回ランダムのURL
が起動時に振り当てられますが、http
とhttps
のどちらでも外部からアクセスできるようになります。
インストール
今回は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
で外部公開できます。
サイトのテストや一時的に外部公開したい時に便利そうですね。