I have tried flexible SSL settings - currently on Full with a Letsencrypt cert on the server - but my web app does not load - I can see the requests on the server - there are no errors in the logs - no HTML is returned.
That suggests your server is not properly configured.
Keep Cloudflare paused until the site loads fine on HTTPS and talk to your host (or whomever is responsible) to fix the site. Once it loads fine on HTTPS you can unpause and will also work on Cloudflare.
Yeah, I do get a blank page as well, however based on the response headers, that should still be served by your server. There was recently a similar posting, where the user also had an issue with the origin serving different content and that was apparently an issue with the server configuration. After restarting it worked fine.
I would try restarting the service, if that still does not work, you’ll need to go through the server logs.
If the requests reach your server, it’s definitely a server issue. I am afraid you can only debug the Apache and PHP setup. Cloudflare sends the same host header, so it should reach your virtual host. Apart from that, it could only be that your code does not like the Cloudflare IP addresses or something about the headers.
SSL is not the issue, your server has a valid setup, just make sure you have Full Strict selected.
The issue here will be something either with your Apache setup or the PHP code. Either it does not like the Cloudflare IP addresses (rate limiter?) or something about the headers, but unfortunately that you can only determine with good old debugging