この記事は現役ウェブディベロッパーがわかりやすさにこだわって作成しました
ngrokをインストールする
(1) ngrok公式サイトでzipをダウンロードします
https://ngrok.com/download
(2) zipを解凍し、任意のディレクトリにngrok.exeを置きます。
※パスを通しておきましょう
(3) ngrokアカウントを持っていない場合、新規登録(無料)します。
(4) 登録したアカウントでログインして、ダッシュボード画面を表示します。
(5) Connect your account
に表示されているコマンド(認証トークン)をコピーします
(6) コマンドプロンプト画面にコピーして実行します
./ngrok authtoken [認証トークン]
以上でインストールは完了です
ウェブサーバーを公開する
(1) 以下コマンドを実行します
ngrok.exe http ローカルホスト
ngrok.exe http ローカルホスト:8080
コマンドを実行すると、ngrokサービスが開始され、ステータス、アカウント、発行URLなどの情報が表示されます。Forwarding
と書かれた箇所が発行URLに該当します。
httpおよびhttpsのURLが発行されます。
外部公開用のURLが有効になっている(Session Status
がOnline
になっている)間は、ngrokダッシュボード画面のEndpoints
の下にあるStatus
メニューでもURLやステータスを確認できます。
(3) 発行されたURLをブラウザに入力し、アクセスします
(4) 終了時はコマンドプロンプトにてctrl + C
でngrokサービスを停止します
SSHサーバーを公開する
次にSSHサーバを外部公開したいと思います。SSHサーバはデフォルトポートである22/tcp
をリッスンして稼働しています。よって、tcp 22番ポートを指定して、ngrok
コマンドを実行します。
ngrok tcp 22
実行すると、コマンドターミナルがクリアされて、ngrokの状態画面が表示されます。
まとめ
ngrokはHTTPとHTTPSのフォワーディングエンドポイントが用意されています。HTTPSのエンドポイントではSSL通信が可能です。
さらに特筆すべきは「tcp通信」をも公開することができます。ngrok tcp 22
と実行すると、sshサーバを公開することができ、任意のポートのtcp通信を公開できます。telnetもsshもftpも独自通信も公開できます。
このサービスを利用すれば、ローカル環境で作成したサイトをクライアントに公開したり、ローカル環境のトラブルを遠隔でトラブルシュートしたりすることが簡単にできるようになります!
この記事についてのご質問またはお困りのことがございましたら、お気軽にお問い合わせください。