How to get a custom domain to work on Blogger with SSL

For those trying to proxy your traffic through Cloudflare and are also using Blogger.com/ Blogspot.com to host your website you may find some issues with the HTTPS redirects and general loading of your HTTPS on your website.
This follows some of the posts that I have seen on the Cloudflare Community page on “Custom domain with blogger not working”.
I recommend setting up the redirect on Cloudflare.com, so that Cloudflare’s edge locations will do the redirecting effort, rather than you needing the visitor to send a request back to your origin as part of the redirect work.
So here’s a few things that I did to have this work.

1. Set IP addresses to the same per Google’s support article 

Add four A-records which point to Google IPs.
216.239.32.21
216.239.34.21
216.239.36.21
216.239.38.21

2. Set www. as CNAME to vulongtran.com

Set my www. as CNAME to vulongtran.com (mydomain.com)

3. Set SSL to Full mode 

Please try using the the SSL = Flexible mode if it is breaking, as  we cannot upload an origin SSL to blogger.com.

4. Set a Page Rule to redirect

This is more optional to do at Cloudflare’s edge rather than on Blogger.com’s settings. As that’ll set the redirect on the origin server, which means that the request needs to find your origin to complete the redirect.
I recommend setting up the redirect on Cloudflare.com, so that Cloudflare’s edge locations will do the redirecting effort and work, rather than you needing the visitor to send a request back to your origin server to do this redirecting work.

Page rule:

vulongtran.com/*
Forwarding URL: 301 Permanent Redirect
https://www.vulongtran.com/$1

5. Test that is working

So far it is working fine: https://www.vulongtran.com
Many thanks to Nico (Andronicus Riyono) from the Cloudflare Support team for sussing out the solution here and recommending the Page Rule level redirect!
Note – I brought a dedicated SSL certificate so it looks like this:

]]>

How to view your daily bandwidth stats on Cloudflare

This guide below details how you can view your Analytics including bandwidth statistics from your Cloudflare using an API call.
Requirements:

  • Cloudflare account
  • Command line tool such as Command on a Windows machine, and Terminal or iTerm on a Mac
  • Appropriate access level privileges to your Cloudflare.com so you can source identifying keys such as the (Zone ID and API keys which you will need).

We are going to use a Cloudflare API called “Analytics dashboard API”. This analytics dashboard API will give you a bunch of analytics that you would normally see in your dashboard, however, I am going to focus on showing you how to get your bandwidth numbers, including the cached and uncached bandwidth figures.
You can always view more analytics fields and other optional parameters by following the steps on the Cloudflare API page: https://api.cloudflare.com/#zone-analytics-dashboard

What is the Cloudflare Analytics Dashboard?

The dashboard view provides both totals and timeseries data for the given zone and time period across the entire Cloudflare network.

How do we retrieve data from the Analytics Dashboard?

To retrieve data we need to run a GET command. The following is an example curl GET command you would be using to pull from Cloudflare.
curl -X GET “https://api.cloudflare.com/client/v4/zones/example-API-key/analytics/dashboard?since=2015-01-01T12:23:00Z&until=2015-01-02T12:23:00Z&continuous=true”
-H “X-Auth-Email: [email protected]
-H “X-Auth-Key: example-API-key”
-H “Content-Type: application/json”

Cloudflare Analytics Dashboard

HTTP Method: GET
GET zones/:zone_identifier/analytics/dashboard

Step 1 – Find your Zone ID and API key

Zone ID – ZONE-ID-XYZ-HERE (you’ll find this in your Cloudflare portal)
API key – API-ID-XYZ-HERE (you’ll find this in your Cloudflare portal)

Step 2 – Run an API call – curl command

This will show you all your analytics in one go so the aim here is to check that it works and you have an output on your screen. You can dive into the other interesting fields here over time. 
curl -X GET “https://api.cloudflare.com/client/v4/zones/ZONE-ID-XYZ-HERE/analytics/dashboard?since=2017-01-01T12:23:00Z&until=2017-01-30T12:23:00Z&continuous=true”
-H “X-Auth-Email: YOUR-EMAIL-ADDRESS-HERE”
-H “X-Auth-Key: API-ID-XYZ-HERE”
-H “Content-Type: application/json”

Step 3 – Add output to API call

curl -X GET “https://api.cloudflare.com/client/v4/zones/ZONE-ID-XYZ-HERE/analytics/dashboard?since=2017-01-01T12:23:00Z&until=2017-01-30T12:23:00Z&continuous=true”
-H “X-Auth-Email: YOUR-EMAIL-ADDRESS-HERE”
-H “X-Auth-Key: API-ID-XYZ-HERE”
-H “Content-Type: application/json” | jq ‘.result.timeseries[] | [.until, .bandwidth.all, .bandwidth.cached, .bandwidth.uncached] |@csv’ > ~/Desktop/output.csv

Step 4 – Check your output file

You should put your output file (output.csv) into a spreadsheet tool such as Google Sheets or Microsoft Excel. Make sure there is data in there to work with.

Step 5 – Review your spreadsheet and set bandwidth columns

Once you have confirmed there is data in the spreadsheet file you have downloaded, convert the desired amount into the metrics you are keen to look at the data by. This will allow you to make sense of the bunch of long numbers you’ll see.
Be that in:
Bytes, Kilobytes, Megabytes, Gigabytes or Terabytes
1 Byte = 8 Bit
1 Kilobyte = 1,024 Bytes
1 Megabyte = 1,048,576 Bytes
1 Gigabyte = 1,073,741,824 Bytes
1 Terabyte = 1,099,511,627,776 Bytes
Here is an example spreadsheet I created using GoogleSheets.
I divided the “Bandwidth all” column field with the Megabyte number (1,048,576) to give me the “ALL (MB)” column you see in the screenshot below. Then I did the same for the bandwidth cahced and bandwidth uncached columns.
You can choose to divide it by another metric, depending on how large or small the number you see in your spreadsheet is.

Well done!
So there you have it. You now have stats to work with.

]]>

How to use Cloudflare to complete HubSpot's SSL verification process

This guide is for website owners or webmasters that need to complete HubSpot’s SSL verification process so that they can provision an SSL certificate for your domain hosted on HubSpot.

Step 1 – Select domain you want SSL activated in HubSpot’s Domain Manager

Log into HubSpot and request an SSL certificate for your domain. It’ll take a up to 72 hours for them to get back to you with one of their Let’s Encrypt “Validate your domain” emails.

Step 2 – Sign up and set up Cloudflare Free plan for your domain

Set up your website onto Cloudflare’s Free plan. I have written a guide here if you need it.

Step 3 – Get Source URL and Destination URL

Get the Source URL and Destination URL details from HubSpot’s Domain Manager.

Step 4 – Add the redirect to Cloudflare

Add the redirect to Cloudflare in the Page Rules tab.
Select the “Forward URL” option.
302 – Temporary Redirect is sufficient

Step 5 – You should get a success message 

You should get a success message and now you just wait and follow the next steps as per usual. 
Happy HubSpotting and Cloudflaring! 

]]>