跳转到内容
搜索文档

无需部署客户端代理即可访问私有应用

最后更新 查看 MarkdownAgent 设置

简介

使用 Cloudflare 访问私有资源(例如不直接暴露给互联网的应用、服务器和网络)通常涉及向设备部署(客户端代理),然后使用服务器端代理(cloudflaredCloudflare Mesh)将私有网络或应用连接到 Cloudflare。本文档介绍了一种替代方法,该方法无需在用户设备上部署软件,从而更容易允许承包商和合作伙伴等第三方访问。

通常,为了提供对内部资源的访问,您会使用 Cloudflare Zero Trust Network Access ZTNA,它支持用户设备访问私有资源的两种方法。

  • 公共 DNS 中的 CNAME,解析为代表 Cloudflare 隧道的主机名,该隧道将请求代理到内部应用。
  • 由 Cloudflare 隧道公开的 IP 地址,同样将流量直接代理到该 IP 地址。

访问私有应用

有些组织不喜欢公共 DNS 记录引用内部服务的做法,即使 ZTNA 服务提供了强大的访问安全性,有时他们仅仅是不希望公共 DNS 中存在服务名称。直接向用户暴露 IP 地址也是一个坏主意,它们很难记住,而且 IP 地址可能会发生变化。与通过我们的代理通过公共 DNS 记录访问 Web 应用不同,通过私有 IP 地址公开的应用还需要用户在其设备上安装代理来捕获流量并将其路由到 Cloudflare,然后再由 Cloudflare 路由到应用。对于合作伙伴或承包商等第三方,安装此代理可能是一项挑战。

那么,如何在不创建公共 DNS 记录且不需要用户在其设备上安装软件的情况下,允许访问私有资源呢?Cloudflare 通过可以使用内部 DNS 服务的 解析器策略(Resolver Policies) 解决了这一挑战。当与无客户端 Remote Browser Isolation 结合使用时,仅使用现代 Web 浏览器就可以创建对私有 Web 应用的 Zero Trust 访问。控制应用访问的策略随后在我们的 Secure Web Gateway (SWG) 服务中编写为 网络防火墙 策略。此方法支持基于 HTTP 的应用,尽管 Cloudflare 的确为 SSH 和 VNC 服务提供了浏览器渲染服务。

按照此教程了解有关如何在无需部署客户端代理的情况下配置对私有 Web 资源的安全访问的信息。

图 1:远程访问内部主机名
图 1:使用内部主机名连接到私有 Web 服务的远程浏览器
  1. 用户首先通过对 Cloudflare Browser Isolation 服务进行身份验证来开始访问。请注意,这是一个运行在 Cloudflare 边缘网络上的浏览器,因此默认情况下所有请求都将由 Cloudflare 处理。内容通过使用 HTTPS 和 WebRTC 通道的安全加密矢量流渲染回用户的浏览器。
  2. 一旦用户向远程浏览器通过了身份验证,他们就会向内部主机名发送请求,该主机名是内部 DNS 服务中的一条记录。例如 https://app.company.internal
  3. Cloudflare 使用解析器策略查找内部主机名,并从内部 DNS 服务器获取私有 IP 地址。该 DNS 解析在 Cloudflare 网络内进行,不需要对用户的设备进行任何 DNS 客户端更改。
  4. Cloudflare 评估网络防火墙策略,并验证用户是否有权限到达目标地址。
  5. 如果请求通过了策略,它将通过安全的 QUIC 隧道发送到 cloudflared 连接器,然后再反向代理到应用服务器。所有数据都通过加密矢量流安全地通过 Cloudflare 传输回用户的浏览器。

相关资源

这篇文档对您有帮助吗?