ngrokでローカル環境で起動させたアプリケーションを外部公開する

Blog Single

Webアプリケーションなどを作成しているとき、ローカルサーバーを立てて挙動を確認したりすることがあると思います。
今回は、この自分のローカル環境で起動しているアプリケーションを気軽に公開できるものを紹介します。
その名もngrokです。

導入

ngrokはエングロックと読みます。
nginx(エンジンエックス)っぽいとはいえ、東雲(しののめ)や心太(ところてん)ぐらい初見殺しです。

導入は簡単で

brew cask install ngrok

で完了です。

早速使ってみる

試しに、LaravelというPHPのフレームワークを今回使ってみます。
ngrok-testという名前でプロジェクトを作ります。

composer grobal require "laravel/installer=*"
composer create-project laravel/laravel ngrok-test

ngrok-testというプロジェクトを起動します。

cd ngrok-test
php artisan serve

これでLaravelのビルドインサーバーが起動するので、localhost:8000にアクセスすると、

とあらかじめLaravelで用意されたページが開きます。
ここで、ngrokを使ってみます。
Laravelのビルドインサーバーを起動させたまま

ngrok http 8000

を打ち込みます。これは、localhostの8000番のポートのものをhttpで外部公開するということを指定しています。
そうすると、

という画面が出てきます。
これで公開完了です。
Forwardingの欄に書かれている2つのURLが外部公開されているものです。
実際にアクセスしてみると、

とまあローカルで見れた画面と同じものなので当然画面上の変化はないのですが、実際に生成されたURLにアクセスすることでローカル環境と同じものが見れることが確認できます。

これだけだと恩恵を感じれないかもしれませんが、例えば開発中の画面を仲間に一旦共有したり、外部のAPIと試験的につなぎこみしたりも出来るようになります。

実際に、上で表示されたURLに別のPCやスマホからアクセスしても同じ画面が表示されます。
ちなみに、このURLはハッシュでランダム生成されたもので、ctrl+cでngrokを停止させるとこのURLは利用できなくなります。

まとめ

次回あたり、これを利用して何か作りたいなと思います。

技術書は勿論、本全般が好き。品揃えの良い本屋に行くとテンション上がりすぎて後で具合が悪くなる。

Other Posts: