はじめに
Proxerをインストールし、ローカルHTTPサービスを公開します。
このページでは、よくある構成を使います。公開サーバーがインターネットからのトラフィックを受け、実際のアプリはノートPCやプライベートなマシンで動きます。プライベート側のマシンは、公開サーバーへ外向きに接続できれば十分です。
- HTTP/WebSocketトラフィックを受けられる公開マシン、またはreverse proxy。
- 公開したいローカルHTTPサービス。
- npmで入れる場合はNode.js 24以降。
インストール
Section titled “インストール”GitHub ReleasesからWindows用の単体実行ファイルをダウンロードします。
proxer.exe --versionbrew install tinyrack-net/tap/proxernpm install -g @tinyrack/proxerdocker run --rm tinyrack/proxer --versionサービスを1つ公開する
Section titled “サービスを1つ公開する”次のwss://とhttps://の例では、Proxerの前段でTLSを終端している前提です。多くの場合、Caddy、Traefik、NGINX、ロードバランサーがTLSを受け、Proxerへはloopbackまたはプライベートネットワーク経由でHTTP/WebSocketを渡します。
-
公開サーバーを起動する
公開トラフィックを受けるマシンで実行します。
proxer server --listen 0.0.0.0:8080 --domain your-server.example.com --token dev-token同じポートで公開リクエストとトンネル制御WebSocketを処理します。
-
ローカルアプリを起動する
クライアントマシンでHTTPサービスを起動します。動作確認ならPythonサーバーで十分です。
python3 -m http.server 3000 --bind 127.0.0.1 -
自動サブドメイン経路を登録する
--subdomainを省略すると、サーバーがランダムなサブドメインを割り当てます。proxer http 3000 \--server wss://your-server.example.com \--token dev-token -
割り当てられたホストを呼ぶ
クライアントが表示した
subdomain: px-...とpublic URLを使います。curl https://px-k7m3q9t2ab.your-server.example.com/ -
サブドメイン経路を登録する
名前付きの経路が必要なら
--subdomainを使います。proxer http 3000 \--server wss://your-server.example.com \--subdomain demo \--token dev-token -
サブドメインホストを呼ぶ
curl https://demo.your-server.example.com/ルートホストが必要な場合だけ
--subdomain @を使ってください。このモードは、サーバーを--domain付きで起動している場合に最も分かりやすく動きます。
ローカルだけで試す
Section titled “ローカルだけで試す”まだDNSがない場合は、同じマシンですべて動かし、Hostヘッダーだけ明示します。
python3 -m http.server 3000 --bind 127.0.0.1proxer server --listen 127.0.0.1:8080 --domain proxy.localhost --token dev-tokenproxer http 3000 --server ws://127.0.0.1:8080 --subdomain demo --token dev-tokencurl -H 'Host: demo.proxy.localhost' http://127.0.0.1:8080/リクエストの流れは仕組みを、Traefik/Caddy/NGINXの背後に置くときの注意点はルーティングと信頼済みプロキシを見てください。