端口转发
Visual Studio Code 内置了对端口转发的支持,无需安装扩展,使用的是 Microsoft 开发隧道 (dev tunnels)。在运行本地 Web 服务时,可以使用端口 (Ports) 视图通过互联网让其他人访问该服务。
如何使用端口转发
首先,你需要有一个可供转发的服务。如果你还没有服务,但已安装 Node.js,可以运行以下命令在 3000 端口启动一个服务器:
npx serve
然后,导航至面板区域中的端口 (Ports) 视图(端口:聚焦到端口视图 (Ports: Focus on Ports View)),并选择转发端口 (Forward a Port)。

如果你之前未曾使用 GitHub 登录,系统将提示你进行登录。接着,输入你想要转发的端口;使用上述命令时的默认端口是 3000。操作完成后,端口转发即开始,端口 (Ports) 视图将更新以显示已转发的端口及其转发地址 (Forwarded Address)。

将鼠标悬停在转发地址 (Forwarded Address) 上,可以使用内联操作来复制地址、在浏览器中打开,或在编辑器内进行预览。
默认情况下,转发的端口是私有的 (Private)。当你访问该 URL 时,需要使用你在 VS Code 中启动端口转发时所用的同一个 GitHub 账号进行登录。你可以通过右键单击该端口并选择端口可见性 > 公开 (Port Visibility > Public) 来更改可见性。公开 (Public) 端口不需要登录即可访问。
常见问题
如果我连接到了远程机器,该如何转发本地服务?
端口转发目前仅公开本地运行的服务。暂不支持远程连接,但我们计划在未来增加此功能。
根据你的场景,你可能需要使用 VS Code 的 Remote - Tunnels 扩展来隧道连接到远程机器。你可以在 Remote - Tunnels 文档中了解更多信息。
转发的端口是如何实现安全的?
默认情况下,托管隧道和连接到隧道都需要在两端使用相同的 GitHub 或 Microsoft 账号进行身份验证。在这两种情况下,VS Code 都会向托管在 Azure 中的服务建立出站连接;通常不需要更改防火墙设置,且 VS Code 不会设置任何网络监听程序。
如果你打开了公开 (Public) 端口,任何拥有你链接的用户都可以访问该转发服务。请避免在公开端口上托管机密信息或不安全的服务。
当 AI 代理配置了诸如绕过批准 (Bypass Approvals)、自动驾驶 (Autopilot) 或 /yolo 等自动批准模式时,这一点尤其危险。任何有权访问该公共 URL 的人都可以与具备 AI 命令执行能力的服务进行交互,并可能以你的凭据运行命令。有关更多信息,请参阅安全性 (Security)。
了解更多关于底层开发隧道服务安全性的信息。
端口转发有哪些限制?
端口转发在带宽使用量和可使用的活跃机器数量上都有限制,这些限制可能会随时间而变化。阅读更多关于隧道使用限制的信息。
我可以在组织范围内配置策略吗?
如果你所在的组织希望控制对端口转发的访问,可以通过允许或拒绝访问域名 global.rel.tunnels.api.visualstudio.com 来实现。
对于使用 Windows 设备的用户,你还可以配置并部署开发隧道的组策略设置。你可以在 开发隧道文档中了解更多信息。