160+ms latency to zero trust tunnel from Cape Town

I notice that our Cloudflare zero trust tunnels have high latency from any network in South Africa. Should the latency not be a few ms?

How are you connecting? Is this just an HTTP Application using Public Hostnames?
I’m assuming your tunnel connector/cloudflared is running in South Africa? If it’s not running in there then I don’t see how you would think you’d ever get a few ms latency.
Assuming all that, I would check the following:

Where is your tunnel connecting to? You can see in logs of the initial start which colos it connects to:

INF Registered tunnel connection connIndex=0 connection= event=0 ip= location=jnb01 protocol=quic

Or in the Zero Trust Dashboard, under Network → Tunnels, click on the Connector ID and you should see Data Centers in the Connector information card like
Data centers: jnb01, lhr11, jnb04

Then, determine which one your side is connecting to.

If your public hostname is tunnel.example.com, append /cdn-cgi/trace like https://tunnel.example.com/cdn-cgi/trace

Look for the colo line like:

These are all IATA Airport codes identifying the closest airport to the Cloudflare datacenter. Most likely, either your tunnel isn’t connecting locally or you aren’t, or it could be your application having high latency, but I’d start with this.


The connector is running on a server in South Africa. The application is a HTTP application using a public hostname which resolves to a cloudflare IP address. Everything works because OTP is requested when accessing the APP. It is just the latency that is quite high:

PING ( 56 data bytes
64 bytes from icmp_seq=0 ttl=57 time=158.052 ms
64 bytes from icmp_seq=1 ttl=57 time=160.892 ms
64 bytes from icmp_seq=2 ttl=57 time=157.690 ms
64 bytes from icmp_seq=3 ttl=57 time=159.117 ms

Connector ID says jnb04, cpt01 but …/cdn-cgi/trace says LHR

Is there something we need to do in cloudflare to make the tunnel work via JHB or CPT instead of LHR?