Hi
Small update.
After many hours of testing, I have managed to come up with an interesting solution that can be applied to many sites.
I created a proxy that can handle the traffic of sites through my servers, it works something similar to QUIC.cloud for example.
A few details:
in the easiest way you can set the website with the prefix ‘www’ to be served by my CNAME with the GeoDNS option. So, for example, in the DNS Enhance CP settings you change the www CNAME to the one I give you, let's say: proxy-website-dynoble.network. Then my servers create a www certificate for your domain and all traffic goes through my servers.
this option allows you to reduce the load on your servers by up to 80% as traffic to your sites passes through the proxy.
TTFB and latency are reduced because the proxy caches requests and allocates them to the appropriate servers in the respective countries, e.g. if you have a server in the USA and someone visits from the UK, the website is served by the proxy of my server in the UK.
The proxy by default does not completely cache the entire website, which means that everything works just as it does on your local server, shops, adding to the shopping cart, changes to the website take place in real time without the need to clear the cache,
It is also possible to set up a CDN cache for static files or pages which return a ‘Cache-Control’ header. This works very nicely as you do not need an additional CDN. I have tested it with the litespeed cache plugin and the results are satisfactory and everything works fine.
I can also set up simple DDOS protection, e.g. allowing, for example, 200 requests per second from a given IP, Cookie, Header or Query.
It is also possible to block IPs, User Agents or countries.
8 I have now set up proxy servers in the UK - London, Germany - Frankfurt and Poland - Wroclaw
Benefits.
- Web server based on Pingora and Rust. Performance is much better and latency is lower than nginx,
very good benchmark material - https://www.youtube.com/watch?v=iz95STKZMqY
- Caching takes place in RAM using the TinyUFO cache - https://github.com/cloudflare/pingora/tree/main/tinyufo
- Pingora is very resilient to critical loads, does not crash or drop connections
- Currently only supports http2 with tls 1.1 - 1.3, http3 is in the plans.
More:
https://blog.cloudflare.com/pingora-open-source/
https://blog.cloudflare.com/how-we-built-pingora-the-proxy-that-connects-cloudflare-to-the-internet/
Is anyone interested in testing? 🙂