VSCode的Remote Tunnels功能可安全共享本地Web服务。需先启用隧道并登录GitHub账号,再创建命名隧道映射本地端口,接着配置macOS权限与防火墙,最后限制访问范围和时效以增强安全性。

如果您希望在不配置复杂网络环境的情况下,将本地运行的Web服务或开发服务器临时分享给他人访问,VSCode的Remote Tunnels功能可提供端到端加密的隧道通道。以下是实现该功能的具体操作路径:
本文运行环境:MacBook Air,macOS Sequoia。
一、启用Remote Tunnels并登录GitHub账户
Remote Tunnels依赖GitHub身份认证来建立安全会话,需先在VSCode中激活隧道服务并绑定个人GitHub账号,所有通信均通过Microsoft托管的中继服务器完成,本地服务IP和端口不会直接暴露于公网。
1、打开VSCode,按下Cmd+Shift+P调出命令面板。
2、输入Remote-Tunnels: Turn on Remote Tunnel并回车执行。
3、在弹出的浏览器窗口中,使用已启用2FA的GitHub账户完成授权。
4、返回VSCode,状态栏右下角出现Remote Tunnel: Connected提示即表示隧道服务已就绪。
二、为本地服务创建命名隧道
VSCode默认仅转发其内置端口(如调试器、扩展端口),若需暴露自定义服务(如localhost:3000的React开发服务器),必须显式声明端口映射规则,隧道名称将生成唯一可分享的URL前缀。
1、按下Cmd+Shift+P,输入Remote-Tunnels: Create Tunnel并回车。
2、在输入框中键入不超过32字符的英文隧道名称(例如my-dev-app)。
3、选择Port类型,而非VS Code Server类型。
4、输入本地服务监听的端口号,例如3000。
5、确认后,VSCode生成类似https://my-dev-app-8r7x9c3v.tunnels.api.visualstudio.com的全局可访问地址。
三、配置端口转发权限与防火墙例外
macOS系统默认阻止未经签名的进程监听网络连接,即使隧道已建立,本地服务仍可能因系统级拦截而无法被中继服务器探测,需手动授予VSCode完整磁盘访问及网络监听权限。
1、前往系统设置 > 隐私与安全性 > 完整磁盘访问,点击“+”添加Visual Studio Code应用。
2、在同页面下滑至防火墙 > 选项 > 防火墙选项,确保Visual Studio Code状态为允许传入连接。
3、终端中运行lsof -i :3000验证服务确实在127.0.0.1:3000而非localhost:3000监听(部分框架默认绑定localhost,需改用0.0.0.0)。
四、限制隧道访问范围与时效
Remote Tunnels默认生成的链接具有长期有效性且无访问密码,存在未授权访问风险,可通过VSCode设置强制启用一次性链接或绑定IP白名单,降低暴露面。
1、打开VSCode设置(Cmd+,),搜索remote.tunnels.allowAnonymousAccess。
2、将其值设为false以禁用匿名访问。
3、搜索remote.tunnels.expirationTimeInHours,修改数值为1至24之间的整数,使隧道链接在指定小时后自动失效。
4、若需进一步控制,可在命令面板执行Remote-Tunnels: Manage Tunnel Access,为已创建隧道添加GitHub组织成员限制。










