跳转到内容
本站为社区维护的非官方中文翻译,与 Cloudflare, Inc. 无关联。本站不提供账户登录,请勿在任何非官方站点输入您的 Cloudflare 账户信息。官方文档:developers.cloudflare.com

Azure

最后更新 查看 MarkdownAgent 设置

本指南介绍了如何使用 cloudflared 将 Azure 虚拟机连接到 Cloudflare,并通过 Cloudflare Tunnel 发布 Web 应用程序。

前提条件

1. 创建虚拟机

  1. 在 Azure 门户中,前往 Virtual Machines(虚拟机)> Create(创建)> Azure virtual machine(Azure 虚拟机)。

  2. 选择一个 资源组,或创建一个新资源组。

    Azure 组
  3. 输入虚拟机的名称并选择区域。对于 Image(映像),选择 Ubuntu Server 24.04 LTS。对于 Size(大小),选择合适的大小(例如 Standard_B1s)。

  4. 在 管理员账户 下,选择 SSH 公钥 并输入你的密钥对。

    Azure 密钥对
  5. 在 入站端口规则 下,允许 SSH(22)。为了进行测试,还需允许 HTTP(80)和 HTTPS(443)。

    Azure 端口
  6. 选择 Review + create(查看 + 创建),然后选择 Create(创建)。

  7. VM 运行后,从 VM 概览页面复制其 公共 IP 地址。

  8. SSH 连接到该实例:

    ssh -i "your-key.pem" azureuser@<PUBLIC_IP>
  9. 运行 sudo su 以获取该虚拟机的完全管理员权限。

  10. 出于测试目的,您可以在端口 80 上部署一个基础的 Apache Web 服务器:

    apt update
    
    apt -y install apache2
    
    cat <<EOF > /var/www/html/index.html
    <html><body><h1>Hello Cloudflare!</h1>
    <p>This page was created for a Cloudflare demo.</p>
    </body></html>
    EOF
  11. 要验证 Apache 服务器是否正在运行,请打开浏览器并转到 http://<PUBLIC_IP>(确保通过 http 连接,而不是 https)。您应该会看到 Hello Cloudflare! 测试页面。

2. 创建隧道

  1. 在 Cloudflare 仪表板 ↗中,转到 Networking(网络) > Tunnels(隧道)。
  2. 选择 Create Tunnel(创建隧道) 并输入名称(例如,azure-tunnel)。
  3. 选择 Create Tunnel(创建隧道)。
  4. 在 Setup Environment(设置环境) 下,选择 Debian 64-bit(Debian 64 位)。
  5. 复制安装命令并在您的 Azure VM 上运行它们。
  6. 隧道连接后,选择 Continue(继续)。

3. 发布应用程序

  1. 在 Routes(路由) 下,选择 Add route(添加路由) > Published application(已发布的应用程序)。
  2. 输入主机名(例如,hellocloudflare.<your-domain>.com)。
  3. 在 Service(服务) 下,输入 http://localhost:80。
  4. 选择 Add route(添加路由)。

要进行测试,请打开浏览器并转到您配置的主机名。您应该会看到 Hello Cloudflare! 测试页面。

防火墙配置

要保护 Azure VM,您可以配置网络安全组 (NSG) ↗,拒绝所有入站流量,仅允许到 Cloudflare Tunnel IP 地址的出站流量。所有 NSG 规则均按优先级评估;不匹配允许规则的流量会被默认拒绝规则阻止。因此,您可以删除所有自定义入站规则,仅保留相关出站规则。

配置 NSG 规则后,请验证您是否仍可通过 Cloudflare Tunnel 的公共主机名访问该服务。此服务不应再能从 Cloudflare Tunnel 外部访问,例如直接访问 VM 的公共 IP 应不再有效。

这篇文档对您有帮助吗?