优秀的编程知识分享平台

网站首页 > 技术文章 正文

微软 Dev Tunnels 开发隧道(微软开发者平台)

nanyue 2024-09-02 19:10:32 技术文章 10 ℃

什么是开发隧道?

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

好处

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

术语

在使用 CLI 之前,最好了解在整个过程中引用的以下术语:

  • 隧道 - 通过中继服务提供对一台主机的安全远程访问。 开发隧道具有唯一的 DNS 名称、多个端口、访问控制和其他关联的元数据。
  • 隧道中继服务 - 通过云服务促进开发隧道主机和客户端之间的安全连接,即使主机可能位于防火墙后面且无法直接接受传入连接。
  • 隧道主机 - 接受通过开发隧道中继服务与开发隧道的客户端连接,并将这些连接转发到本地端口。
  • 隧道端口 - 允许通过开发隧道的 IP 端口号(1-65535)。 开发隧道仅允许在已添加的端口上建立连接。 一个开发隧道可以支持多个端口,而开发隧道中的不同端口可能使用不同的协议(HTTP、HTTPS 等),并且可能有不同的访问控制。
  • 隧道连接 - 开发隧道客户端与开发隧道主机之间的数据包双工流,通过开发隧道端口。 开发隧道连接通常链接到任一端的 TCP 连接,但也可能支持基于 UDP 的协议。 一个隧道端口可以支持多个同时连接。
  • 隧道客户端 - 通过开发隧道启动到主机的远程连接。 (虽然主机可能与开发隧道服务有“客户端”关系,但在该上下文中避免术语以减少混淆。

快速入门

安装

Windows

winget install Microsoft.devtunnel
winget upgrade Microsoft.devtunnel
Invoke-WebRequest -Uri https://aka.ms/TunnelsCliDownload/win-x64 -OutFile devtunnel.exe
.\devtunnel.exe -h

直接下载链接:

x64-https://tunnelsassetsprod.blob.core.windows.net/cli/devtunnel.exe

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

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

Macos

brew install --cask devtunnel
curl -sL https://aka.ms/DevTunnelCliInstall | bash

直接下载链接:

arm-https://tunnelsassetsprod.blob.core.windows.net/cli/osx-arm64-devtunnel-zip

x64-https://tunnelsassetsprod.blob.core.windows.net/cli/osx-x64-devtunnel-zip

Linux

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

直接下载链接:

x64-https://tunnelsassetsprod.blob.core.windows.net/cli/linux-x64-devtunnel

登录

若要启动开发隧道,首先需要使用 Microsoft Entra ID、Microsoft 或 GitHub 帐户登录。 开发隧道不支持匿名托管隧道,有关详细信息,请参阅 CLI 命令参考文档。

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命令将类似于以下示例的内容输出到控制台。

Connecting to host tunnel relay wss://usw2-data.rel.tunnels.api.visualstudio.com/api/v1/Host/Connect/<tunnel_id>
Hosting port 8080 at https://<tunnel_id>.usw2.devtunnels.ms:8080/, https://<tunnel_id>-8080.usw2.devtunnels.ms/ and inspect it at https:/<tunnel_id>-8080-inspect.usw2.devtunnels.ms/
Ready to accept connections for tunnel: <tunnel_id>

打印的文本包含:

  • 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 访问本地服务。


官网地址(https://learn.microsoft.com/zh-cn/azure/developer/dev-tunnels/)

Tags:

最近发表
标签列表