跳转到内容
搜索文档

使用 CLI 通过 Cloudflare Access 进行连接

最后更新 查看 MarkdownAgent 设置

Cloudflare 的 cloudflared 命令行工具允许您与受 Cloudflare Access 保护的端点进行交互。您可以使用 cloudflared 与受保护应用程序的 API 进行交互。

这些说明不适用于配置服务以针对 API 运行。此示例中的令牌针对用户身份进行了定制,仅适用于最终用户通过命令行工具与 API 进行交互。

本演练涵盖了如何:

  • 从 CLI 连接到由 Cloudflare Access 保护的资源

完成所需时间:

30 分钟


从命令行验证会话

在安装 cloudflared之后,您可以使用它来检索 Cloudflare Access 应用程序令牌。本演练使用域名 example.com 代替受保护的 API。

  1. 要生成令牌,请运行以下命令:

    cloudflared access login https://example.com

    运行此命令后,cloudflared 会启动一个浏览器窗口,其中包含在尝试访问 Web 应用程序时看到的相同 Access 登录页面。

  2. 选择您的身份提供商并登录。

如果浏览器窗口未启动,您可以使用自动打印到命令行的唯一 URL。

  1. 成功进行身份验证后,浏览器会通过加密传输将令牌返回给 cloudflared 并进行存储。

令牌在 Access 管理员配置的会话持续时间内有效。

访问您的 API

检索到令牌后,您就可以访问受保护的 API。cloudflared 命令行工具包含一个用于通过 curl 传输数据的包装器,该包装器使用 URL 语法(有关更多信息,请参阅 curl ↗ GitHub 项目)。该包装器将令牌作为名为 token 的查询参数注入到 curl 请求中。您可以如下调用该包装器:

cloudflared access curl http://example.com

也可以对任何 Unix 工具结合 cloudflared 使用 put 命令,以便在请求中包含该令牌。

继续阅读以了解其他可用命令。

可用命令

login

login 命令启动 Access 后端应用程序的登录流程。

cloudflared access login http://example.com

curl

curl 命令调用客户端包装器,并自动在请求中包含该令牌。

cloudflared access curl http://example.com

token

token 命令检索限定于该特定应用程序范围的令牌,以便在其他命令行工具中使用。

cloudflared access token -app=http://example.com

将令牌用作环境变量

为了方便和保持脚本简洁,在访问受保护的应用程序时,可以将令牌保存为环境变量。

按如下方式将令牌设置为环境变量:

  1. 运行以下命令将令牌导出到 shell 环境:

    export TOKEN=$(cloudflared access token -app=http://example.com)
  2. 使用以下命令确认令牌已保存:

    echo $TOKEN

将令牌导出到环境后,在脚本中将该变量与 Cloudflare Access 请求标头一起使用以访问受保护的端点,如以下示例所示:

curl -H "cf-access-token: $TOKEN" https://example.com/rest/api/2/item/foo-123

这篇文档对您有帮助吗?