Cloudflare - is NOT using Cloudflare SSL

Scorpion Ghost

Elite Member
Executive VIP
Jr. VIP
Joined
Mar 22, 2013
Messages
9,148
Reaction score
10,491
I added 6 of my websites to Cloudflare in the past few days.

I use this tool to check my sites if they're behind Cloudflare - https://checkforcloudflare.selesti.com/

All of my sites show a result like this:

https://site.com/ is using Cloudflare CDN/Proxy!
https://site.com/ is using Cloudflare SSL!


But the last site that I added today shows this:

https://site.com/ is using Cloudflare CDN/Proxy!
https://site.com/ is NOT using Cloudflare SSL


I checked Cloudflare, and I have SSL set to FULL for this site, just like the rest of them, all the same. And all the other settings are all the same for all of the sites in Cloudflare.

So what's the deal?
 
I'm not sure if this applies or not; however, is the proxy option enabled for that specific record?
 
I'm not sure if this applies or not; however, is the proxy option enabled for that specific record?
It's either too soon or this in my opinion.

Check if you have the A and other crucial records proxied.

Also, check the SSL settings itself. You might be using flexible or not using it at all.
 
I'm not sure if this applies or not; however, is the proxy option enabled for that specific record?

I don't know.

I added that site in the same way that I added my other sites. I just let Cloudflare set the options, I didn't make any changes.

If you only added it today, that might be the issue.

Check tomorrow?

I just checked, and I added the site 30 hours ago.

All my other sites were showing correctly very quickly after being added.

It's either too soon or this in my opinion.

Check if you have the A and other crucial records proxied.

Also, check the SSL settings itself. You might be using flexible or not using it at all.

I'm not sure what that means, the proxied thing. There are DNS records which Cloudflare created. That's all I know about it :D

It's set to FULL, I mentioned it in my opening post, and I triple checked.
 
Inside the DNS section of the domain, there is a table of records. Make sure the proxy status of the A record (one with your domain address as it's name) looks like the following:

Screen Shot 2022-02-24 at 6.47.36 PM.png
 
Inside the DNS section of the domain, there is a table of records. Make sure the proxy status of the A record (one with your domain address as it's name) looks like the following:

View attachment 203282

It's like that already.

So I just compared the problematic site with one of my other sites.

The A, CNAME and MX records are identical (except for the domain name).

But there are some differences in SRV and TXT records.

The good site has 5 SRV records, the problematic site has 3 SRV records.

The good site has 8 TXT records, the problematic site has 6 TXT records.

Both sites are wordpress, and hosted at the same host, and have the same domain registrar.

Could the problem be because of the SRV and TXT records?
 
It's like that already.

So I just compared the problematic site with one of my other sites.

The A, CNAME and MX records are identical (except for the domain name).

But there are some differences in SRV and TXT records.

The good site has 5 SRV records, the problematic site has 3 SRV records.

The good site has 8 TXT records, the problematic site has 6 TXT records.

Both sites are wordpress, and hosted at the same host, and have the same domain registrar.

Could the problem be because of the SRV and TXT records?

CNAME - www - domain.com
A - domain.com - IP

Check if these are correct. It's enough if these two are true.

Correct but not working, point your NS back to hosting and delete the site from cloudflare. Wait 1 hour and do all the operations again. Make sure what i wrote above is correct.Wait 24 hour again.That way it shouldn't be a problem.
 
I'm not sure what that means, the proxied thing. There are DNS records which Cloudflare created. That's all I know about it :D
As I understand it that actually means traffic goes through CD first.

Without it it is direct and domain is uncovered.

I am no expert on this but the base A record for the domain should be proxied for sure.
 
Right, so I fixed it for OP.

For others who've come here with the same issue, below is the solution.

//

So Cloudflare partners with 4 SSL Authorities to issue a free universal certificate to domains proxied through Cloudflare. These authorities are -
  • DigiCert
  • GlobalSign
  • Let’s Encrypt
  • Sectigo (formerly Comodo)
Source

Now with DigiCert, Cloudflare SSL is white-labelled. Looks a little like this

Rich (BB code):
Common name: sni.cloudflaressl.com
SANs: domain.com, sni.cloudflaressl.com, *.domain.com
Organization: Cloudflare, Inc.
Location: San Francisco, California, US
Valid from February 23, 2022 to February 23, 2023
Serial Number: xxx
Signature Algorithm: ecdsa-with-SHA256
Issuer: Cloudflare Inc ECC CA-3

As you can see the Issuer is listed as Cloudflare Inc. Now I am guessing, the tool that OP used - https://checkforcloudflare.selesti.com/ - checks for this and then decides if the domain is actually using a Cloudflare certificate or not.

Now, these universal certificates are assigned at random. They can be from one of the 4 issuing authorities.

In this particular case, the certificate was indeed both valid and issued by Cloudflare.

As can be seen here -

vFoEfXI


As you can see, the certificate has been issued by Let's Encrypt - but is managed and auto-renewed by Cloudflare.

However, this is a problem for the above tool. As the name of the Issuer changes.

Also, as you're probably aware - Let's Encrypt only issues certificates valid for 3 months.

To mitigate this, you have to change your issuing authority.

To do this the easiest way is to request a change of authority via the Cloudflare API using certificate_authority field of Cloudflare API - Source // API Source

To do this, you'll need the following

1. Your Zone ID - You can get this by going to the Overview page of your domain and checking out the Zone ID in the column on the right hand side.
2. Your Cloudflare email
3. Your Cloudflare Global API Key - You can get this by going to User Profile > API Token and scrolling down.

Then all you need to do is send a curl request to the API with the details filled in. Below is the format

Bash:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/[zone_id]/ssl/universal/settings" \
     -H "Content-Type: application/json" \
     -H "X-Auth-Email: [YOUR-EMAIL-ADDRESS]" \
     -H "X-Auth-Key: [YOUR-GLOBAL-API-KEY]" \
     --data '{"certificate_authority": "digicert"}'

You should receive the following response

JSON:
{
“result”: {
“enabled”: true,
“certificate_authority”: “digicert”
},
“success”: true,
“errors”: ,
“messages”:
}

That's it. Now go to the Cloudflare Dashboard > Edge Certificates and Disable the Universal Certificate, then re-enable it in a few seconds and you'll have a Digicert/Cloudflare SSL.

(Wrote this rapidly, please excuse typos and/or brevity)

Cheers
 
Right, so I fixed it for OP.

For others who've come here with the same issue, below is the solution.

//

So Cloudflare partners with 4 SSL Authorities to issue a free universal certificate to domains proxied through Cloudflare. These authorities are -
  • DigiCert
  • GlobalSign
  • Let’s Encrypt
  • Sectigo (formerly Comodo)
Source

Now with DigiCert, Cloudflare SSL is white-labelled. Looks a little like this

Rich (BB code):
Common name: sni.cloudflaressl.com
SANs: domain.com, sni.cloudflaressl.com, *.domain.com
Organization: Cloudflare, Inc.
Location: San Francisco, California, US
Valid from February 23, 2022 to February 23, 2023
Serial Number: xxx
Signature Algorithm: ecdsa-with-SHA256
Issuer: Cloudflare Inc ECC CA-3

As you can see the Issuer is listed as Cloudflare Inc. Now I am guessing, the tool that OP used - https://checkforcloudflare.selesti.com/ - checks for this and then decides if the domain is actually using a Cloudflare certificate or not.

Now, these universal certificates are assigned at random. They can be from one of the 4 issuing authorities.

In this particular case, the certificate was indeed both valid and issued by Cloudflare.

As can be seen here -

vFoEfXI


As you can see, the certificate has been issued by Let's Encrypt - but is managed and auto-renewed by Cloudflare.

However, this is a problem for the above tool. As the name of the Issuer changes.

Also, as you're probably aware - Let's Encrypt only issues certificates valid for 3 months.

To mitigate this, you have to change your issuing authority.

To do this the easiest way is to request a change of authority via the Cloudflare API using certificate_authority field of Cloudflare API - Source // API Source

To do this, you'll need the following

1. Your Zone ID - You can get this by going to the Overview page of your domain and checking out the Zone ID in the column on the right hand side.
2. Your Cloudflare email
3. Your Cloudflare Global API Key - You can get this by going to User Profile > API Token and scrolling down.

Then all you need to do is send a curl request to the API with the details filled in. Below is the format

Bash:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/[zone_id]/ssl/universal/settings" \
     -H "Content-Type: application/json" \
     -H "X-Auth-Email: [YOUR-EMAIL-ADDRESS]" \
     -H "X-Auth-Key: [YOUR-GLOBAL-API-KEY]" \
     --data '{"certificate_authority": "digicert"}'

You should receive the following response

JSON:
{
“result”: {
“enabled”: true,
“certificate_authority”: “digicert”
},
“success”: true,
“errors”: ,
“messages”:
}

That's it. Now go to the Cloudflare Dashboard > Edge Certificates and Disable the Universal Certificate, then re-enable it in a few seconds and you'll have a Digicert/Cloudflare SSL.

(Wrote this rapidly, please excuse typos and/or brevity)

Cheers

That's what I'm talking about.

Yall see this? Magic :rolleyes:

Problem is indeed fixed. Thanks man, you're the best :)
 
Right, so I fixed it for OP.

For others who've come here with the same issue, below is the solution.

//

So Cloudflare partners with 4 SSL Authorities to issue a free universal certificate to domains proxied through Cloudflare. These authorities are -
  • DigiCert
  • GlobalSign
  • Let’s Encrypt
  • Sectigo (formerly Comodo)
Source

Now with DigiCert, Cloudflare SSL is white-labelled. Looks a little like this

Rich (BB code):
Common name: sni.cloudflaressl.com
SANs: domain.com, sni.cloudflaressl.com, *.domain.com
Organization: Cloudflare, Inc.
Location: San Francisco, California, US
Valid from February 23, 2022 to February 23, 2023
Serial Number: xxx
Signature Algorithm: ecdsa-with-SHA256
Issuer: Cloudflare Inc ECC CA-3

As you can see the Issuer is listed as Cloudflare Inc. Now I am guessing, the tool that OP used - https://checkforcloudflare.selesti.com/ - checks for this and then decides if the domain is actually using a Cloudflare certificate or not.

Now, these universal certificates are assigned at random. They can be from one of the 4 issuing authorities.

In this particular case, the certificate was indeed both valid and issued by Cloudflare.

As can be seen here -

vFoEfXI


As you can see, the certificate has been issued by Let's Encrypt - but is managed and auto-renewed by Cloudflare.

However, this is a problem for the above tool. As the name of the Issuer changes.

Also, as you're probably aware - Let's Encrypt only issues certificates valid for 3 months.

To mitigate this, you have to change your issuing authority.

To do this the easiest way is to request a change of authority via the Cloudflare API using certificate_authority field of Cloudflare API - Source // API Source

To do this, you'll need the following

1. Your Zone ID - You can get this by going to the Overview page of your domain and checking out the Zone ID in the column on the right hand side.
2. Your Cloudflare email
3. Your Cloudflare Global API Key - You can get this by going to User Profile > API Token and scrolling down.

Then all you need to do is send a curl request to the API with the details filled in. Below is the format

Bash:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/[zone_id]/ssl/universal/settings" \
     -H "Content-Type: application/json" \
     -H "X-Auth-Email: [YOUR-EMAIL-ADDRESS]" \
     -H "X-Auth-Key: [YOUR-GLOBAL-API-KEY]" \
     --data '{"certificate_authority": "digicert"}'

You should receive the following response

JSON:
{
“result”: {
“enabled”: true,
“certificate_authority”: “digicert”
},
“success”: true,
“errors”: ,
“messages”:
}

That's it. Now go to the Cloudflare Dashboard > Edge Certificates and Disable the Universal Certificate, then re-enable it in a few seconds and you'll have a Digicert/Cloudflare SSL.

(Wrote this rapidly, please excuse typos and/or brevity)

Cheers

exactly what i needed

thx man
 
Back
Top