ngrokで開発環境をそのまま外向けに公開する
社内の開発環境などで作成したWebアプリケーションをとりあえずモックとして公開したい場合などがあると思います。
しかし、モックを公開するためのだけにサーバーを用意するのは時間がかかりますし、何より無駄なリソースです。
そこで今回は、ローカルの開発環境を一時的に外向き公開できるサービス ngrok をご紹介します。
はじめに
今回の環境は CentOS にて実装しております。
ご利用になる環境に応じて読み替えてください。
ngrokに登録する
最初にngrokのサービスへ登録しましょう。
サインアップ からユーザー登録できます。
そして、登録が完了したら Dashboard > Auth にある Your Tunnel Authtoken の内容を控えておきます。
ngrokをインストールする
そして ngrok公式サイト からダウンロードをしましょう。
1 2 3 4 |
cd /tmp wget https://bin.equinox.io/c/4VmDzA7iaHb/ngrok-stable-linux-amd64.zip |
ダウンロードが完了したら、展開しておきましょう。
(パスが通っていない場所に展開した場合、パスを通しておくと便利です)
1 2 3 |
unzip -d /usr/local/bin ngrok-stable-linux-amd64.zip |
アカウント接続する
下記コマンドを実行して ngrok.yml というファイルを生成しましょう。
1 2 3 |
ngrok authtoken <YOUR_AUTH_TOKEN> |
これで基本的な設定はおしまいです。
試しに接続してみる
設定が完了したので接続を実行してみましょう。
下記のコマンドを入力して、接続状況が出れば成功です。
1 2 3 |
ngrok http 8080 |
1 2 3 4 5 6 7 8 9 |
Session Status online Account User Name (Plan: Free) Version 2.2.8 Region Asia Pacific (ap) Web Interface http://127.0.0.1:4040 Forwarding http://xxxxxxxx.ngrok.io -> localhost:8080 Forwarding https://xxxxxxxx.ngrok.io -> localhost:8080 |
この Forwarding に記載されているURLが外からアクセスできるURLです。
試しに手持ちのスマホなどで、ローカルネットワーク以外から接続できるかチェックしてみましょう。
設定ファイルで簡単にBasic認証をつける
毎回コマンドを入力するのはとても面倒ですね。
しかも公開したい相手ごとに設定が違う場合、かなり面倒なことになってしまいます。
そんな時はファイルにまとめてしまいましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
authtoken: <YOUR_AUTH_TOKEN> region: ap tunnels: setting_a: proto: http addr: 80 auth: "user:pass" setting_b: proto: http addr: 443 auth: "AAA:BBB" |
あとはコマンド1つ入力で簡単にできます。
1 2 3 |
ngrok start -config ngrok_setting.yml setting_a |
設定ファイルとコマンド内容でお気づきの方もいると思いますが tunnels の次の項目が設定名です。
この設定名ごとに設定をすることができますし、コマンド自体をShellスクリプトにしてしまえば、もっと楽に起動できます。
そのほか細かい設定については コチラ からご覧ください。
さいごに
ngrokの記事は結構出ていますが、設定ファイルでのアクセス方法はほとんど記載がありませんでしたので、改めて書いてみました。
これで少しでも開発に時間が割けるようになるといいですね。
- おすすめ記事
POPULAR
のえる
Full-stack Developer