The OLS access control approach does work, the issue is usually the interaction between useIpInProxyHeader and deny ALL.
When Use Client IP in Header is set to Trusted IP Only, OLS evaluates access control against the rewritten visitor IP instead of the Cloudflare TCP source IP. So deny ALL...