跳转到内容
搜索文档

GCP

最后更新 查看 MarkdownAgent 设置

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

先决条件

1. 创建 VM 实例

  1. 在您的 Google Cloud 控制台中,创建一个新项目

  2. 转到 Compute Engine(计算引擎) > VM instances(VM 实例)

  3. 选择 Create instance(创建实例)

  4. 为您的 VM 实例命名。在本例中,我们将其命名为 http-test-server

  5. 选择您需要的操作系统和规格。在本例中,您可以使用以下设置:

    • Machine family: General Purpose
    • Series: E2
    • Machine type: e2-micro
    • Boot disk image: Debian GNU/Linux 12
    • Firewalls(防火墙):允许 HTTP 和 HTTPS 流量
  6. Advanced options > Management > Automation 下,添加以下启动脚本。此示例在端口 80 上部署了一个基础的 Apache Web 服务器。

    #!/bin/bash
    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
  7. 选择 Create(创建)

  8. 操作系统会自动启动 Apache HTTP 服务器。要验证该服务器是否正在运行:

    1. 复制该 VM 实例的 External IP
    2. 打开浏览器并转到 http://<EXTERNAL IP>。您应该会看到 Hello Cloudflare! 测试页面。
  9. 要登录到该 VM 实例,请打开 SSH 旁的下拉菜单并选择 Open in browser window

2. 创建隧道

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

3. 发布应用程序

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

要进行测试,请打开浏览器并转到您配置的主机名。

您可以选择添加 Cloudflare Access 来控制谁能访问该服务。

防火墙配置

要保护您的 VM 实例,您可以配置您的 VPC 防火墙规则以拒绝所有入站流量,并且仅允许指向 Cloudflare Tunnel IP 地址的出站流量。由于 GCP 默认拒绝入站流量,您可以删除所有入站规则,仅保留相关的出站规则。

配置 VPC 防火墙规则后,请验证您是否仍可以通过 Cloudflare Tunnel 的 公共主机名 访问该服务。该服务不应再从 Cloudflare Tunnel 外部访问 —— 例如,如果您访问 http://<EXTERNAL IP>,测试页面应该不再加载。

这篇文档对您有帮助吗?