使用Microsoft Dev Tunnels实现内网穿透

什么是Microsoft Dev Tunnels?

开发人员隧道允许开发人员跨 Internet 安全地共享本地 Web 服务。 使你能够将本地开发环境与云服务连接,与同事共享正在进行的工作或帮助构建 Webhook。 开发隧道适用于临时测试和开发,不适用于生产工作负荷。

Microsoft Dev Tunnels的优势

  • 默认情况下安全 - 默认情况下,创建开发隧道只能使用 Microsoft、Microsoft Entra ID 或 GitHub 帐户访问。
  • 持久 URL - 根据需要保留相同的开发隧道 URL。
  • 支持多个同时端口 - 同时在单个开发隧道上托管多个端口。
  • 全局服务可用性 - 开发隧道服务全局可用。 开发隧道会自动在最近的可用区域中创建。
  • 隧道检查 - 检查熟悉的接口、浏览器 DevTools 中的开发隧道流量。

安装Microsoft Dev Tunnels

Windows环境
使用Windows 包管理器 (winget)

可以使用适用于 Windows 的 Microsoft 程序包管理器 winget 来安装和更新 devtunnel CLI。

winget install Microsoft.devtunnel

此命令默认安装最新版本,并删除同一位置的旧版本,即 %LOCALAPPDATA%\Microsoft\WinGet\Packages。 若要指定版本,请将所需版本添加到 --version <version_number> 命令。

winget upgrade Microsoft.devtunnel

使用PowerShell脚本

还可以使用 PowerShell 安装 devtunnel CLI,并运行以下命令:

Invoke-WebRequest -Uri https://aka.ms/TunnelsCliDownload/win-x64 -OutFile devtunnel.exe

.\devtunnel.exe -h

离线安装

直接下载链接:

Windows (x64) - https://aka.ms/TunnelsCliDownload/win-x64

使用以下命令运行命令 devtunnel , ./devtunnel而不是:

  1. 按 Windows 键并键入"环境变量"。
  2. 选择"编辑系统环境变量"选项。
  3. 选择"环境变量..."按钮。
  4. 在"系统变量"表中可以看到两个表,找到并选择"PATH"变量。
  5. 选择"编辑..."按钮。
  6. 此时应弹出一个窗口。 选择"新建"按钮。
  7. 键入 devtunnel.exe 文件的目录路径(目录意味着从路径中排除文件名。
  8. 若要查找目录字符串,可以导航到 PowerShell 或终端中的目录,然后键入"pwd")
  9. 在所有打开的窗口中选择"确定",然后重启命令提示符。
macOS环境
使用Homebrew

可以使用 Homebrew 来安装和更新 devtunnel CLI。 以下命令可用于或不使用 --cask。

brew install --cask devtunnel

使用脚本

curl -sL https://aka.ms/DevTunnelCliInstall | bash

离线安装

直接下载链接:

macOS (arm64) - https://aka.ms/TunnelsCliDownload/osx-arm64-zip

macOS (x64) - https://aka.ms/TunnelsCliDownload/osx-x64-zip

Linux环境
使用脚本

curl -sL https://aka.ms/DevTunnelCliInstall | bash

离线安装

直接下载链接:

Linux (x64) - https://aka.ms/TunnelsCliDownload/linux-x64

登录

若要启动开发隧道,首先需要使用 Microsoft Entra ID、Microsoft 或 GitHub 帐户登录。

devtunnel user login

主机

登录后,可以使用命令开始托管开发隧道 host 。 在以下示例中,开发隧道将:

  • 在响应发送到它的请求的端口 8080 上运行本地服务器。
  • 为 Internet 可访问的本地端口 8080 托管开发隧道。

# Start a http server on port 8080

devtunnel echo http -p 8080

# Tunnel port 8080

devtunnel host -p 8080

成功的 host 命令将类似于以下示例的内容输出到控制台。

# Start a http server on port 8080

devtunnel echo http -p 8080

# Tunnel port 8080

devtunnel host -p 8080

打印的文本包含:

  • tunnel_id - 开发隧道的 ID。
  • 公共 URL - 此示例中可用于访问开发隧道 https://<tunnel_id>.usw2.devtunnels.ms:8080/ 的 URL。
  • 检查 URL - 在此示例中,可用于检查通过开发隧道 https:/<tunnel_id>-8080-inspect.usw2.devtunnels.ms/ 发送的流量的 URL。

连接

若要连接到开发隧道,需要:

  1. 在 Web 浏览器中访问此 URL。
  2. 使用用于托管开发隧道的同一帐户登录。 默认情况下,开发隧道只能访问你。

祝贺你! 现在可以通过 Internet 访问本地服务。

使用限制

|-------------------------------------------|--------------------------|
| Resource | Limit |
| Bandwidth | 2 GB per user |
| Tunnels | 5 per user |
| Active connections | 20 per port |
| Ports | 10 per tunnel |
| HTTP request rate | 1500/min per port |
| Data transfer rate | Up to 20 MB/s per tunnel |
| Max web-forwarding HTTP request body size | 16 MB |

相关推荐
不坑老师1 天前
小工具显出大才能——不坑盒子为教育数字化转型贡献“新方案”
microsoft·word·excel·ppt·office
ytttr8731 天前
基于C# WinForms实现多窗口通信
开发语言·microsoft·c#
WellTung_6661 天前
Windows opencode Desktop App配置 Azure GPT5.2和oh-my-opencode插件安装方法
windows·azure
Aaron_9451 天前
微软 Agent Framework:构建、编排和部署 AI 代理的全面框架
人工智能·microsoft
硬汉嵌入式1 天前
历时八年,微软XAML Studio正式开源
microsoft·微软·xaml
ID_180079054732 天前
YouTube item_get_video接口认证方式:API密钥与OAuth2.0的选择与应用
服务器·windows·microsoft
池央2 天前
节点小宝远程文件管理:实现安全高效的跨设备文件存取
内网穿透
星火开发设计2 天前
Java面向对象三大特性:封装、继承与多态的深度解析及实战
java·开发语言·microsoft·多态·继承·面向对象·封装
牛猫Data2 天前
Power BI为什么不能完全取代Excel?
microsoft·数据分析·excel·database·数据可视化·powerbi
發糞塗牆2 天前
Azure 架构师学习笔记 - Azure AI(1)- 概述
笔记·学习·ai·azure