WebHookのテストどうすればいいのか悩んでます、ナナオです。
今回はローカルのHTTPサーバーを簡単に外部URLとして公開することができるngrokを触ってみたいと思います。
インストール
Windows11であれば、以下のコマンドでインストールできるようです。
winget install Ngrok.Ngrok
ただ、僕の環境だとうまくインストールできなかったので、chocolateryを使用しました。
choco install ngrok
インストールできました。
ローカルサーバーを外部URLで公開する
適当にdockerでNginxサーバーを実行してみます。
docker run -d -p 8000:80 nginx:latest
では、ngrokで外部URLを取得してみましょう。
ngrok http 8000
外部URLが払い出されたので、早速アクセスしてみます。
![](/img/ERR_NGROK_6022-Before-you-can-serve-HTML-content-you-must-sign-up-for-an-ngrok-account-and-install-your-authtoken-.png)
エラーになってしまいました。
どうやらHTMLを表示するにはサインアップが必要なようですね。
以下のページからサインアップを済ませます。
サインアップができたら以下のような画面が表示されるので、この画面にあるコマンドを実行します。
![](/img/Setup-ngrok.png)
ngrok config add-authtoken [認証キー]
この状態で再度外部URLを取得すると、先ほどとは違う画面が表示されるようになります。
この画面の「Visit Site」をクリックすることで、ローカルのNginxサーバーにアクセスすることが可能になります!
![](/img/ERR_NGROK_6024-You-are-about-to-visit-5af1-2400-2410-a8a4-1800-5c5b-b110-6cdf-3cb0-ngrok-free-app-served-by-2400-2410-a8a4-1800-5c5b-b110-6cdf-3cb0-This-website-is-served-for-free-through-ngrok-com-You-should-only-.png)
![](/img/Welcome-to-nginx-.png)
外部URLからローカルのNginxにアクセスできた!
まとめ
すごい…すごすぎる…。
これでWebHookの実装がめちゃくちゃ楽になりそう。
今回は紹介していませんが、Node・Rust・Go・PythonでSDKがあったり、HTTP以外にもTCPで公開できたり、Basic認証もOAuthもOpenID Connectも使えるし、開発者にとってはうれしいことしかない機能が盛りだくさんで失神してしまいそうです。
少し使ってみただけでももうハードユーズ確定な予感がします。とりあえず使っているすべてのPCに入れたい。。