Forcing HTTPS with Azure CDN

Aaron Powell picture Aaron Powell · Apr 9, 2018 · Viewed 10k times · Source

I’m using Azure CDN in front of a Storage Account. I’m wanting to serve everything via HTTPS only, so I’ve setup HTTPS on the custom domain and created a URL rewrite:

HTTPS rewrite rule

But the problem is that I end up at a URL like this: https://the-custom-domain/website/17/index.html

The website/17/index.html is the root content within the Storage Account, but I don’t know why it’s appending the container path before the filename. There’s also rewrite rule for static files (https://blog.lifeishao.com/2017/05/24/serving-your-static-sites-with-azure-blob-and-cdn).

Any idea what’s wrong with the URL rewrite?

Answer

Rune Aamodt picture Rune Aamodt · Dec 15, 2019

There is an official guide from MS here, which works with standard Azure CDN:

https://docs.microsoft.com/en-us/azure/cdn/cdn-standard-rules-engine

Summary below:

Redirect users to HTTPS

  • On the CDN profile page, select the endpoint you want to create rules for.
  • Select the Rules Engine tab.
  • Select Add rule and enter a rule name.
  • To identify the type of requests the rule applies to, create a match condition:
    • Select Add condition, and then select the Request protocol match condition.
    • For Operator, select Equals.
    • For Value, select HTTP.
  • Select the action to apply to the requests that satisfy the match condition:
    • Select Add action, and then select URL redirect.
    • For Type, select Found (302).
    • For Protocol, select HTTPS.
    • Leave all other fields blank to use incoming values.
  • Select Save to save the new rule. The rule is now available to use.