ポート解放をせずにVelocityプロキシへサーバーを登録できるトンネリングプラグインです。 子サーバー起動時に自動的にVelocityプロキシへサーバーを登録します。(必要に応じてforcedHostsの登録も行います。)
ポートを開放できない環境に実機サーバーとかを置いたとき
「Linode*1にVelocityプロキシ置いてるけど実機側のポート開放できないからサーバー登録できないじゃん!!!!」
こういう時にこのプラグインを使うことでポート開放をせずにサーバーをVelocityに登録することができます。
頻繁にサーバーを作るとき
「サーバー立てたときVelocityにいちいち登録するのめんどすぎん?????」
vTunnelを入れておけば動的にサーバーを追加できます。
vTunnelのセットアップ方法。
1.vTunnelは子サーバーからのトンネリングの際に60000番ポートを使用するため、プロキシー側でポート60000,60001番を開放する必要があります。
また、解放する必要はありませんが60002-61000ポートを内部的に使用するため他プロセスで使用しないでください。(dockerでの実行を推奨)
2.VelocityプロキシのpluginsフォルダにvTunnelプラグインを導入する
3.下記のの環境変数を設定する
(velocity-config.tomlのserversやtryの項目を削除することをお勧めします。)
# JWTトークンのシークレットです。極力長い文字列にすることをお勧めします。
VTUNNEL_SECRET: """任意のシークレット文字列""" (require)
# サーバー接続時に最初に接続するサーバーの名前。
VTUNNEL_TRY: "サーバー名1,サーバー名2" (optional)
1.サーバーにvTunnelプラグインを導入します。
2.JWTトークンをここから生成する(下記参照)
2.下記の環境変数を設定する
Algorithm: HS512
your-256-bit-secret: """上で設定した$VTUNNEL_SECRETの値"""
PAYLOAD:
name: lobby, #(require)Velocityに登録するサーバー名
forced_hosts: ["lobby.example.com","main.example.com"], #(optional)Velocityに登録するforcedHostsのアドレス
exp: 1000000000000, #(require)このトークンの有効期限(unix_time/sec)
iss: moruch4nn, #(require)このトークンの発行者(適当で構いません)
aud: ["小サーバー用"], #(require)このトークンの想定利用者(適当で構いません)
# vTunnelサーバーのホスト名
VTUNNEL_HOST: 478.43.12.432
VTUNNEL_TOKEN: 上で生成したJWTToken。