In Part 1 of this post we setup a website using an Azure Storage Acct and configured the Verizon Premium CDN endpoint with SSL certificates to host our custom domain name. In this post we’ll look at the configuration necessary to redirect http to https using the Verizon tools provided via the Azure portal.
Problem
How do you redirect http to https so that users who enter http://www.domain.com into their browsers are redirected to https://www.domain.com?
Solution
Part 3 - Setup Redirect Rule in Verizon CDN
Currently, we have a working website that responds to requests at https://www.azurepatterns.com that was created in Part 1 of this post. However, if someone inadvertently types http:// before our URL they are connected to the website without using SSL to encrypt traffic. For this website it’s not a big deal but for most websites the appropriate action would be to redirect the browser to the https version of the website. The image shown illustrates the problem. Most user’s browsers will alert them to the fact that SSL is not being use and this could lower confidence in our website.
As I mentioned in Part 1 of this post the reason I chose the Verizon Premium CDN option was that it is, currently, the only CDN option that allows user created redirect rules.
To access the Rules engine you will need to be logged into the Azure portal and have access to the subscription that manages the Resource group and Storage acct we used in Part 1. From within the portal navigate to the Resource Group that contains our website and find the resource of type CDN profile that we created from Part 1 and select it. You should now see a screen similar to the following:
This will open a new window that uses SSO to login to the Verizon configuration portal. From here we want to use the HTTP Large option at the top of the screen and select the Rules Engine.
It’s now time to create our first rule. Let’s name the rule HTTP to HTTPS and
select the Request Scheme option from the dropdown list. This will populate
a dropdown list for http or https. In our case we want a rule that activates
when the protocol is http.
Next we’ll select the + sign next to Features and select URL
Redirect option with a 301 to alert the browser that this is a permanent
redirect rule.
At this point we get a Source pattern and a Destination option.
we’ll use the following values and then Add our rule to the rules engine.
Source | Destination |
---|---|
(.*) | https://%{host}/$1 |
And that’s it… after we wait 4+ hours :( Once the rule is enabled all users will be redirected to https://www.azurepatterns.com and our non-SSL site will
So hopefully between this post and Part 1 you won’t waste as much time as I did trying to get all this right. If this has been helpful or you find any issues feel free to drop me a line and share your thoughts.