A key requirement of AutoSSL is that the domain name must be pointing directly at the server in order for it to complete the validate the SSL Certificate before it’s issued.
CloudFlare essentially acts as a Proxy between the outside world and your web hosting service, which means that your domain name isn’t pointing directly at the service and this can affect the AutoSSL validation process. AutoSSL will usually be unable to complete the validation process because it won’t be able to complete the checks necessary to verify that the domain is actually pointing at the server.
On top of that, when a visitor reaches your website their web browser will try to use the SSL Certificate provided by CloudFlare, not the certificate installed on the web hosting service. This will mean that the SSL Certificate installed for your domain name in cPanel, won’t be used.
To get around this problem, you can generate an Origin Certificate on CloudFlare’s end and install it on your web hosting service. There are various steps to this process, and information on how to do this can be found on CloudFlare’s website. That will allow you to enable SSL/HTTPS and use CloudFlare.