📢
ngrokでインターネット越しにWebSocketをつなぐ[メモ]
はじめに
手元のPCにインターネットからアクセスしたいとき、ngrokが便利です。
任意のportを指定するとURLが払い出されて、簡易なwebサーバを作ることもできます。
websocketも公開することができましたので、備忘録を残します。
OS: windows11
やりかた
ngrokの基本的な使い方でつながりました。
ngrokはインストールしてカレントディレクトリにngok実行ファイルがある想定です。
ngrokを起動
まず、ngrokコマンドでhttpとしてポートを公開します。
例では、2000番ポートを指定してます。
ngrok実行
ngrok http 2000
実行結果
Forwarding https://hoge.jp.ngrok.io -> http://localhost:2000
URL(https://hoge.jp.ngrok.io)が払い出されました。
また、localhostで指定ポートが開かれます。
公開したいアプリ起動
公開したいアプリを指定したポート(ここでは2000)で立ち上げます。
(サーバはNodeで作っていました)
websocketサーバ
// npm ws
import WebSocket from 'ws'
const wss = new WebSocket.Server({
host: 'localhost',
port: 2000
});
wss.on('connection', (ws) => {
// 接続処理
});
// ・・・
公開完了、URLにアクセスしてもらう
ngrokから払い出されたURLにアクセスします。
websocketなので、httpsではなかく、wssになるでしょう。
例では、wss://hoge.jp.ngrok.io でアクセスすれば通信できるはずです。
SSLが古いのかUnityでアクセスるときは、
ws.SslConfiguration.EnabledSslProtocols = System.Security.Authentication.SslProtocols.Tls12;
を指定する必要がありました。
以上です。
Discussion