ローカルのWebサーバーを一時的に外部に公開!ngrokを試してみた

にあえん

November 4, 2023

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が払い出されたので、早速アクセスしてみます。

エラーになってしまいました。

どうやらHTMLを表示するにはサインアップが必要なようですね。

以下のページからサインアップを済ませます。

ngrok - Online in One Line

サインアップができたら以下のような画面が表示されるので、この画面にあるコマンドを実行します。

ngrok config add-authtoken [認証キー]

この状態で再度外部URLを取得すると、先ほどとは違う画面が表示されるようになります。

この画面の「Visit Site」をクリックすることで、ローカルのNginxサーバーにアクセスすることが可能になります!

外部URLからローカルのNginxにアクセスできた!

まとめ

すごい…すごすぎる…。

これでWebHookの実装がめちゃくちゃ楽になりそう。

今回は紹介していませんが、Node・Rust・Go・PythonでSDKがあったり、HTTP以外にもTCPで公開できたり、Basic認証もOAuthもOpenID Connectも使えるし、開発者にとってはうれしいことしかない機能が盛りだくさんで失神してしまいそうです。

Ngrok docs

少し使ってみただけでももうハードユーズ確定な予感がします。とりあえず使っているすべてのPCに入れたい。。