本地端口转发

Visual Studio Code 内置了对端口转发的支持,通过 Microsoft dev tunnels,无需扩展。当运行本地 Web 服务时,您可以使用 Ports 视图使服务在互联网上对其他人可访问。

如何使用本地端口转发

首先,你需要有一个你想要转发的服务。如果你还没有,但已经安装了Node.js,你可以运行这个命令在端口3000上启动一个服务器:

npx serve

然后,导航到面板区域的端口视图(端口:聚焦端口视图),并选择转发端口

在端口视图中显示的转发端口按钮

如果您之前没有使用GitHub登录,系统会提示您登录。然后,输入您想要转发的端口;使用上述命令的默认端口是3000。一旦您完成这些操作,端口转发系统就会启动,端口视图会更新以显示您转发的端口及其转发地址

端口3000已添加到端口视图

悬停在转发地址上时,您可以使用内联操作复制地址、在浏览器中打开它或在编辑器中打开预览。

默认情况下,转发的端口是私有的。当您导航到该URL时,您需要使用在VS Code中启动端口转发过程的同一GitHub帐户登录。您可以通过右键单击端口并选择端口可见性 > 公共来更改可见性。公共端口不需要登录。

常见问题

如果我连接到远程机器,如何转发本地服务?

目前,端口转发仅适用于暴露本地运行的服务。它还不能在远程连接中使用,尽管我们预计未来会实现这一功能。

根据您的场景,您可能希望使用VS Code的Remote - Tunnels扩展来隧道连接到远程机器。您可以在Remote - Tunnels文档中了解更多信息。

转发的端口是如何保证安全的?

默认情况下,托管和连接到隧道都需要在两端使用相同的GitHub或Microsoft帐户进行身份验证。在这两种情况下,VS Code都会向托管在Azure中的服务发起出站连接;通常不需要更改防火墙设置,并且VS Code不会设置任何网络监听器。

然而,如果您打开了公共端口,任何拥有您链接的用户都可以访问转发的服务。您应该小心避免在此类端口上托管任何机密信息或不安全的服务。

您可以了解更多关于底层开发隧道服务的安全性信息,请参阅其文档

端口转发有哪些限制?

端口转发中使用的带宽量和可以使用的活动机器数量都有一定的限制,这些限制可能会随时间而变化。有关隧道使用限制的更多信息,请参阅Remote-Tunnels文档。

我可以在整个组织中配置策略吗?

如果您是一个组织的成员,该组织希望控制对端口转发的访问,您可以通过允许或拒绝访问域名 global.rel.tunnels.api.visualstudio.com 来实现。

对于运行Windows设备的用户,您还可以配置并部署开发隧道的组策略设置。您可以在开发隧道文档中了解更多信息。