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

相关推荐
Cloud_Shy6182 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第七章 Item 48 - 50)
开发语言·人工智能·笔记·python·microsoft·学习方法
北风toto3 小时前
深度拆解:本体与智能体协同生成SQL的底层逻辑与工程实践
数据库·sql·microsoft
周杰伦fans3 小时前
记一次 Visual Studio 突然报错“未能加载 Microsoft.Internal.VisualStudio.Interop”的奇葩经历
microsoft·log4j·visual studio
垂钓的小鱼120 小时前
TRIZ理论是什么?萃智引擎如何将它变为工程师的AI创新助手
人工智能·microsoft
垂钓的小鱼11 天前
阿奇舒勒矛盾矩阵如何在萃智引擎中实现 AI 化——从 39×39 到一句话输入
microsoft
weixin_307779131 天前
在 Azure 上构建数据库路由与异构整合层:原理、方案与最佳实践
数据库·人工智能·后端·云计算·azure
小黄人软件2 天前
Claude和Codex下载离线包 安装遇到问题:windows无法访问指定设备 路径 文件 应用无法打开也无法卸载,解决了
人工智能·microsoft·openai·codex
2601_961875242 天前
法考资料全套2026|客观题|主观题|资料已整理
阿里云·云计算·腾讯云·azure·七牛云存储·csdn开发云·火山引擎
golfscript2 天前
Playwright Python:微软出的浏览器自动化库
python·其他·microsoft·自动化
zhangfeng11332 天前
ONNX Runtime 微软的推理引擎 TensorRT,NVIDIA GPU 上的深度学习推理, CUDA Graph
人工智能·深度学习·microsoft