これはうちのWebサーバの古いMBP
趣味で作ってるLINEbotが乗っています。
VPSやクラウドを使わずに自宅サーバを立てようと思ったときに、
一般家庭用のLANで固定IPをどう実現するかっていうのが結構厄介です。
いいねも遊び・勉強用に自宅サーバを立てたいなあと思うも、そこがネックになっていました。
そんなときにインターネットで見つけたのが、ngrokというアプリ。
ngrokを使うと、ローカルのネットワークを外部公開することができます。
使い方
使い方はこれだけ。
②ngrokの実行
# httpの8080ポートを公開したい場合 ngrok http 8080
実行するとこんな画面になります。
httpとhttpsの2つのアドレスが用意されており、
必要に応じて使い分けることができます。
LINEbotのMessaging APIの場合はHTTPS通信が必須なのでありがたいです。
ngrok by @inconshreveable (Ctrl+C to quit) Session Status online Account ひよりあや (Plan: Free) Version 2.3.34 Region United States (us) Web Interface http://127.0.0.1:4040 Forwarding http://*********.ngrok.io -> http://localhost:8080 Forwarding https://**********.ngrok.io -> http://localhost:8080 Connections ttl opn rt1 rt5 p50 p90 0 0 0.00 0.00 0.00 0.00
また、ngrokはアカウント登録を行うことができ、
アカウント登録を行わないと8時間ほどで接続が切れてしまうようです。
いいねは現在Freeプランで登録をしています。
まとめ
ngrokを使うと、自前でWebサーバを用意するときに必要なポート解放や固定IPの設定をスルーすることができます。
また、HTTPSのURLも発行してくれるため、SSL通信を行うための準備も必要ありません。
無料でTCPのトンネリングを時間制限無しでやってくれるのはなかなか凄いことではないでしょうか。
プログラミングしたPCからアプリをサッとそのまま公開して見せたり、っていう使い方もいいかも。
※最近、同様のサービスとしてserveoというアプリケーション無しで同じことができるものがあり、そちらも気になっています。