ローカル開発環境を外部公開する
はじめに
LINE BOTを開発する際、開発環境でWebhook(コールバック)を受け取りたいという場面に遭遇したので。
そのために開発環境を外部公開することを「トンネリング」と呼ぶ。
トンネリング
今回は『localtunnnel』というサービスを利用する。
トンネリングサービスって、時間制限があってお金払わないと30分しか公開できません!みたいなのが結構ありますが、『localtunnel』には特に制限がないようなので選択しました。
仕組みを考えたら「そりゃそうだろ」なんですが、localtunnelのサブドメインとして公開されるため、何も設定することなくhttpsで公開されるのもいいんですよね。
企業が公開しているAPIはhttpsでないとコールバックを受け取れないことがほとんどなので。
手順
GithubのREADMEが常に正なので基本はそっちを参考にしてください。
locultunnelをインストール
(特定プロジェクトのみで利用する場合は-gを外してください)
npm install -g localtunnel
ローカルサーバで任意の開発中プロジェクトを起動します
npm start
などlocultunnelを起動します
この時、開発中プロジェクトのポート番号を指定します
lt --port 3030
下記のようにurlが発行されますので、それをWebhook(コールバック)を受け取るURLに指定するだけです
注意
ランダムなURLが生成されるので多分大丈夫ですが、ローカル環境を外部公開してしまうのは結構危険な行為でもあると思います。
今回は個人開発のアプリケーションのため、万が一不正アクセスを受けても大丈夫ですが(PCも趣味にしか使ってないやつなので)、会社の規約的にNGとかは十二分にあり得るので気をつけてください。
最後に
引っ越しが落ち着いて3週間ぶりに開発するぞ!って躍起になったらトンネリングどうやるんだっけ?となったので忘備録的に書いた。
こういう記事、ほんとに数ヶ月後の自分の役に立つので侮れないですよ!