ポートフォワーディング
ポートフォワーディングのサポートは、Microsoft dev tunnelsを介してVisual Studio Codeに組み込まれており、拡張機能は不要です。ローカルウェブサービスを実行している場合、ポートビューを使用して、インターネット経由でサービスを他のユーザーにアクセス可能にすることができます。
ポートフォワーディングの使用方法
まず、転送したいサービスが必要です。まだサービスがないがNode.jsがインストールされている場合は、このコマンドを実行してポート3000でサーバーを起動できます。
npx serve
次に、パネル領域にあるポートビュー (ポート: ポートビューにフォーカス) に移動し、ポートを転送を選択します。
これまでにGitHubにログインしたことがない場合は、サインインを求められます。次に、転送したいポートを入力します。上記のコマンドを使用した場合のデフォルトポートは3000です。ポートを入力すると、ポートフォワーディングシステムが起動し、ポートビューが更新され、転送されたポートとその転送先アドレスが表示されます。
転送先アドレスにカーソルを合わせると、インラインアクションを使用してアドレスをコピーしたり、ブラウザで開いたり、エディター内でプレビューを開いたりできます。
デフォルトでは、転送されたポートはプライベートです。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のドキュメントで詳細を確認できます。