Would block anyone just typing your URL address in any Web browser. Have you got the HTTP to HTTPS redirection enabled as well? What’s the concern here or why you’d want to block HTTP?
If DNS record is proxied, you could achieve this by writing directly to an Expression builder where only port 443 is enabled, while requests to all the other compatible and supported with Cloudflare proxy would be presented with the default Cloudflare Block page:
(http.host contains "example.com" and not cf.edge.server_port in {443})
Make sure to replace the example.com with your own true domain name. Above Custom WAF rule would match even sub-domains such as www.example.com.
Helpful article:
Supported and compatible ports on a proxied DNS record: