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

相关推荐
袁煦丞 cpolar内网穿透实验室18 分钟前
精准模拟各种弱网场景!树莓派+ATC打造便携弱网网关。cpolar 内网穿透实验室第781个成功挑战
远程工作·树莓派·内网穿透·cpolar·弱网网关
Hello.Reader37 分钟前
Flink 对接 Azure Blob Storage / ADLS Gen2:wasb:// 与 abfs://(读写、Checkpoint、插件与认证)
flink·flask·azure
袁煦丞 cpolar内网穿透实验室1 小时前
远程调试内网 Kafka 不再求运维!cpolar 内网穿透实验室第 791 个成功挑战
运维·分布式·kafka·远程工作·内网穿透·cpolar
山岚的运维笔记4 小时前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
凯子坚持 c4 小时前
CANN 性能剖析实战:从原始事件到交互式火焰图
windows·microsoft
tzy2335 小时前
内网穿透技术 -- NAT ngrok 花生壳
内网穿透·nat·ngrok·花生壳
穿过锁扣的风9 小时前
一文搞懂 SQL 五大分类:DQL/DML/DDL/DCL/TCL
数据库·microsoft·oracle
山岚的运维笔记20 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
鸽芷咕21 小时前
为什么越来越多开发者转向 CANN 仓库中的 Python 自动化方案?
python·microsoft·自动化·cann
模型时代1 天前
Anthropic明确拒绝在Claude中加入广告功能
人工智能·microsoft