使用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 |

相关推荐
科技前瞻观察2 天前
腾讯控股下的销售易,如何重塑中国CRM格局?
microsoft
电商API&Tina2 天前
京东商品详情API接口接入与应用
数据库·microsoft
發糞塗牆2 天前
【Azure 架构师学习笔记 】- Azure AI(7)-Azure认知服务-Document Intelligence进阶使用
人工智能·ai·azure
yuan199972 天前
基于C#实现的专业级DXF文件显示控件
windows·microsoft·c#
arvin_xiaoting3 天前
OpenClaw AI助手实战:自动化Azure DevOps PR审查与技能扩展
人工智能·自动化·azure
qq_5470261793 天前
LangChain 模型(Models)
windows·microsoft·langchain
grrrr_13 天前
【Linux】内网穿透 FTP 终极复现手册 (2026 版)--cpolar
linux·网络·内网穿透·ftp·cpolar
山岚的运维笔记4 天前
SQL Server笔记 -- 第86章:查询存储
笔记·python·sql·microsoft·sqlserver·flask
發糞塗牆4 天前
【Azure 架构师学习笔记 】- Azure AI(8)-Azure AI Foundry
人工智能·ai·azure