Skip to content

Access a web application via its private hostname without the Cloudflare One Client

With Cloudflare Browser Isolation and resolver policies, users can connect to private web-based applications via their private hostnames without needing to install the Cloudflare One Client. By the end of this tutorial, users who pass your Gateway DNS and network policies will be able to access your private application at https://<your-team-name>.cloudflareaccess.com/browser/https://internalrecord.com.

Before you begin

Make sure you have:

Create a Cloudflare Tunnel

First, install cloudflared on a server in your private network:

  1. Log in to the Cloudflare dashboard and go to Networking > Tunnels.

    Go to Tunnels
  2. Select Create a tunnel.

  3. Enter a name for your tunnel. We suggest choosing a name that reflects the type of resources you want to connect through this tunnel (for example, enterprise-VPC-01).

  4. Select Create Tunnel.

  5. Choose your operating system, then copy the installation command and run it in a terminal on your origin server.

  6. Wait for the tunnel to connect. Once the connection is established, select Continue.

Add private network routes

  1. In the Cloudflare dashboard, go to Networking > Routes.

    Go to Routes
  2. Select Create route > Tunnel CIDR. Select the tunnel you just created, enter the private IP/CIDR of your application server (for example, 10.128.0.175/32), and select Create route.

  3. Repeat to create a second route for the private IP/CIDR of your DNS server.

The application and DNS server are now connected to Cloudflare.

Enable Clientless Web Isolation

  1. In Cloudflare One, go to Browser isolation > Browser isolation settings.
  2. Turn on Allow users to open a remote browser without the device client.
  1. For Permissions, select Manage.

  2. Select Add a rule.

  3. Create an expression that defines who can open the Clientless Web Isolation browser. For example,

    Rule actionRule typeSelectorValueAction
    AllowIncludeEmails ending in@example.comSelect Save.

To test, open a browser and go to https://<team-name>.cloudflareaccess.com/browser/https://<private-IP-of-application>.

Create a Gateway resolver policy

  1. Go to Traffic policies > Resolver policies.

  2. Select Add a policy.

  3. Create an expression to match against the private domain or hostname of the application:

    SelectorOperatorValue
    Domainininternalrecord.com
  4. In Select DNS resolver, select Configure custom DNS resolvers.

  5. Enter the private IP address of your DNS server.

  6. In the dropdown menu, select <IP-address> - Private.

  7. (Optional) Enter a custom port.

  8. Select Create policy.

To test, open a browser and go to https://<team-name>.cloudflareaccess.com/browser/https://internalrecord.com.

  1. Go to Traffic policies > Firewall policies > Network.

  2. Add a network policy that targets the private IP address of your application. You can optionally include any ports or protocols relevant for application access. For example,

    SelectorOperatorValueLogicAction
    Destination IPin10.128.0.175AndAllow
    Destination Portin80Or
    User Emailmatches regex.*example.com

For best practices on securing private applications, refer to Build secure access policies.

Connect as a user

Users can now access the application at the following URL:

https://<team-name>.cloudflareaccess.com/browser/https://internalrecord.com

The application will load in an isolated browser. You can optionally configure remote browser controls such as disabling copy/paste, printing, or keyboard input.