The connection between your visitor and Cloudflare is secured, but the connection between Cloudflare and your server is not. You will not need a certificate on your server for this mode. This option is NOT RECOMMENDED.
Flexible makes your site partially secure - it encrypts the connection between the visitor and Cloudflare - this means they see the in their browser and the site leaves the impression to be secure! However the connection between Cloudflare and your origin server is unencrypted and traffic can be intercepted there.
Even if you wish to pursue an insecure connection, Flexible SSL causes other problems for sites configured for HTTP at the host such as Mixed Content errors, Redirect Loops, or the site stops working completely.
What to do about it:
Ideally, you should install an SSL certificate on your server and set the SSL mode to “Full (strict)” (recommended) or “Full”. This fully encrypts the traffic between both the user and Cloudflare and between Cloudflare and your server.
You can use a free Let’s Encrypt certificate, generate a free Cloudflare origin certificate (SSL/TLS app) or use a paid certificate.
This is needed to make your site fully secure and is essential if you process any user submitted (e.g. logins) or personalized data through your site.
This is a Community Tutorial, most are wiki posts, so can be contributed to by Regulars and MVPs here, you can view all the community tutorials here. If there is a tutorial you would like to see, you can request one here.
Other great resources on this community include the Community Tips . These address best practices when configuring Cloudflare, how to fix issues you may see, and tools to troubleshoot. Also you can view Expert Tips, great posts on the community that can help users with a similar issue.
We encourage users to check out these great resources and the Cloudflare Support Centre before posting