ログってなんぼ

エンジニアのメモです

Chatbot開発の効率がUP!「ngrok」でマシンのWebサーバーを一時的に外部公開する

f:id:Okisanjp:20160712181631p:plain

はーい!Chatbot開発してますか!

というわけで今回はngrok(エングロック)というサービスの紹介したいとおもいます。

127.0.0.1:8080などのlocalhost URLでテストできないPaypalやChatobotサービス連携の実装などで役に立ちます

herokuの無料プランに頻繁にデプロイしてテストしてもいいですが、リポジトリにpushするためにいちいちコミットメッセージ書かないといけないので作業効率が落ちますし、何より動くかどうかわからないコードのコミットメッセージは日記みたいになっちゃう(○○処理を△△してみた、とかw)のであまり好きじゃなかったりします

ngrokのインストール

Mac+homebrewならこんな感じ

$ brew install ngrok
==> Downloading https://homebrew.bintray.com/bottles/ngrok-*.*.*_*.el_capitan.bottle.tar.gz
######################################################################## 100.0%
==> Pouring ngrok-*.*.*_*.el_capitan.bottle.tar.gz
🍺  /usr/local/Cellar/ngrok/*.*.*_*: 4 files, 10.7M

ダウンロードサイト

ダウンロードしてインストールするならこちらから

https://ngrok.com/

localhostにWebサーバーを起動

$ rails s -p 8080

ngrokを起動

$ ngrok 8080


ngrok                                                                                                 (Ctrl+C to quit)

Tunnel Status                 online
Forwarding                    https://XXXXX.ngrok.com > 127.0.0.1:8080
Forwarding                    http://XXXXX.ngrok.com > 127.0.0.1:8080
Web Interface                 127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

有料プラン

Basicプラン(年60$)を選択すれば、3つまで任意の固定サブドメインをキープできる他、特典があります。

それ以上のプランを選択すれば、IP Whitelistその他特典付き。

ngrok.com

PaypalのIPN、ChatobotのコールバックURLなどを用いて開発をするときに便利です。ただし、セキュリティのため、使わない時にはちゃんと終了しておきましょう。