ngrok(エングロック)を使うことで、ローカル(localhost)で動いているアプリケーションを、インターネットからアクセスできるように外部公開することができます。
ローカル(localhost)で動いているアプリとは、例えば以下の記事で作成したPythonのBIダッシュボードなどです。
今回は、ローカル(localhost)で動いているPythonのBIダッシュボードを例に、ngrokを使い公開URLを発行し他の人でも使えるようにする方法を説明していきます。
ダウンロード
先ずは、以下からアカウント登録します。
ngrok Sign Up
https://dashboard.ngrok.com/signup
GoogleやGithubのアカウントでもOKです。
アカウントを作成するとngrokのダッシュボードにログインできるようになります。
ngrokのダッシュボードからngrokをダウンロードできます。
もしくは、以下のURLから直接ダウンロードできます。
ダウンロードした圧縮ファイルを解凍すると、実行ファイル(ngrok.exe)が登場します。
Mac OS版、Linux版、Docker版などありますが、ここではWindows版で説明を進めて行きます。
ngrokの起動
利用するときは、実行ファイル(ngrok.exe)をダブリクリックし実行します。
以下のような画面(コマンドプロンプト)が出てきます。
BASIC認証の設定
公開したURLにアクセスするとき、ユーザ名とパスワードを求めることができます。そのための設定になります。
ngrokのダッシュボードに、Authtokenの情報があります。
Authtokenの情報とは、以下のような意味不明な文字列です。人によって異なります。
534F7dinGaptjfq2Y8Wz24r2EkjlUAkYenNZ4N_24r2Ek53th
コマンドプロンプトに、以下のようなコードを入力します。
ngrok authtoken 534F7dinGaptjfq2Y8Wz24r2EkjlUAkYenNZ4N_24r2Ek53th
ローカル(localhost)で動かすアプリを起動
ローカル(localhost)で動かすアプリを起動します。
アプリが起動していれば、例えば、以下のようなURL(例では、ポート番号が9000)でブラウザから開くことができるはずです。
今回は、以下の記事のローカル(localhost)で動いているPythonのBIダッシュボードを例にしています。
公開URLの発行
コマンドプロンプトに以下のコードを入力します。
ngrok http 9000
そうすると、次のような画面(コマンドプロンプト)が出てきます。
Forwardingに書いてあるURLが公開URLです。この公開URLは、実行のたびに変わります。固定URLにする場合には、有料版のngrokを利用する必要があります。
ngrokを停止したい場合は「Ctrl + C」で止めます。
公開URLをブラウザに入力し実行すると、以下のような画面になります。
BASIC認証あり公開URLの発行
公開URLにアクセスするときに、ユーザ名とパスワードを求める場合には、コマンドプロンプトに以下のコードを入力します。usernameとpasswordは、好きなユーザー名とパスワードを設定してください。
ngrok http -auth="username:password" 9000
次のような画面(コマンドプロンプト)が出てきます。
Forwardingに書いてあるURLが公開URLです。この公開URLは、実行のたびに変わります。固定URLにする場合には、有料版のngrokを利用する必要があります。
ngrokを停止したい場合は「Ctrl + C」で止めます。
公開URLをブラウザに入力し実行すると、以下のような画面になります。
ユーザ名とパスワードを入力すると、ローカル(localhost)で動いているアプリにアクセスできます。
まとめ
今回は、ローカル(localhost)で動いているPythonのBIダッシュボードを例に、ngrokを使い公開URLを発行し他の人でも使えるようにする方法を説明しました。
今回の例で利用した、ローカル(localhost)で動いているPythonのBIダッシュボードに興味のある方は、以下の記事を参考にして頂ければと思います。