🚀 VS Codeでしましょう!

ポートフォワーディング

ポートフォワーディングのサポートは、拡張機能は不要で、Microsoft Dev Tunnelsを介してVisual Studio Codeに組み込まれています。ローカルWebサービスを実行している場合、[ポート]ビューを使用して、インターネット経由で他のユーザーがサービスにアクセスできるようにすることができます。

ポートフォワーディングの使用方法

まず、フォワーディングしたいサービスが必要です。まだサービスがないが、Node.jsがインストールされている場合は、次のコマンドを実行してポート3000でサーバーを起動できます。

npx serve

次に、パネル領域の[ポート]ビュー([ポート:ポートビューにフォーカス])に移動し、[ポートを転送]を選択します。

Forward a Port button displayed in the Ports view

GitHubでログインしたことがない場合は、サインインするように求められます。次に、転送するポートを入力します。上記のコマンドを使用したデフォルトのポートはポート3000です。完了すると、ポートフォワーディングシステムが開始され、[ポート]ビューが更新され、転送したポートとその転送されたアドレスが表示されます。

Port 3000 added to the Ports view

転送されたアドレスにカーソルを合わせると、アドレスをコピーしたり、ブラウザで開いたり、エディター内プレビューを開いたりするインラインアクションを使用できます。

デフォルトでは、転送されたポートはプライベートです。URLに移動すると、VS Codeでポートフォワーディングプロセスを開始するために使用したのと同じGitHubアカウントでサインインする必要があります。ポートを右クリックして[ポートの公開設定>公開]を選択すると、公開設定を変更できます。パブリックポートはサインインを必要としません。

よくある質問

リモートマシンに接続している場合、ローカルサービスを転送するにはどうすればよいですか?

現在、ポートフォワーディングはローカルで実行されているサービスを公開するためだけに機能します。リモート接続ではまだ機能しませんが、将来的には機能する予定です。

シナリオによっては、VS Code Remote - Tunnels拡張機能を使用して、リモートマシンにトンネル接続することをお勧めします。詳細については、Remote - Tunnelsドキュメントを参照してください。

転送されたポートはどのように保護されていますか?

デフォルトでは、トンネルのホストと接続の両方に、両端で同じGitHubまたはMicrosoftアカウントでの認証が必要です。どちらの場合も、VS CodeはAzureでホストされているサービスへのアウトバウンド接続を行います。一般にファイアウォールの変更は必要なく、VS Codeはネットワークリスナーを設定しません。

ただし、パブリックポートを開いた場合、リンクを持っているユーザーは誰でも転送されたサービスにアクセスできます。そのようなポートを介して機密情報や安全でないサービスをホストすることは避けるように注意する必要があります。

基盤となるDev Tunnelsサービスのセキュリティの詳細については、ドキュメントを参照してください。

ポートフォワーディングにはどのような制限がありますか?

ポートフォワーディングで使用できる帯域幅の量とアクティブなマシンの数には制限があり、これらは時間の経過とともに変更される可能性があります。トンネルの使用制限の詳細については、Remote-Tunnelsドキュメントを参照してください。

組織全体にポリシーを適用できますか?

ポートフォワーディングへのアクセスを制御したい組織に所属している場合は、ドメインglobal.rel.tunnels.api.visualstudio.comへのアクセスを許可または拒否することで制御できます。

Windowsデバイスを実行しているユーザーの場合、Dev Tunnelsのグループポリシー設定を構成して展開することもできます。詳細については、Dev Tunnelsドキュメントを参照してください。