在 VS Code 中尝试

端口转发

端口转发支持已内置到 Visual Studio Code 中,通过 Microsoft 开发隧道实现,无需扩展。运行本地 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 不会设置任何网络监听器。

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

你可以在基础开发隧道服务的文档中了解更多安全信息。

端口转发有哪些限制?

端口转发在使用带宽量和可用于端口转发的活动机器数量方面存在限制,这些限制可能会随时间变化。在Remote-Tunnels 文档中阅读更多关于隧道使用限制的信息。

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

如果你所在的组织想控制对端口转发的访问,可以通过允许或拒绝访问域 global.rel.tunnels.api.visualstudio.com 来实现。

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