Cloudflare Setup with Azure WebApp - azure-web-app-service

I have a domain name registered with GoDaddy, e.g., "mysite.com", and have followed the Azure instructions to map that domain's CNAME and A records to my Azure WebApp, i.e.,
I then updated GoDaddy's nameservers to point to cloudflare so cloudflare is now in charge of my DNS records, i.e.,
Within cloudflare I have SSL set to Full and the certificate appears to be active
and my DNS records in cloudflare pointing to my azurewebsites domain name, i.e.,
It has been over 36 hours since I updated the nameservers, but as you can see from cloudflares DNS records screenshot above (see Status), all traffic appears to be routing around cloudflare directly to Azure, i.e., I'm not hitting cloudflare. Putting domain mysite.azurewebsites.net in whatsmydns also shows everything pointing to Azure.
What have I missed in the setup to ensure all traffic routes through cloudflare?

Probably a little late but you need to click on that grey cloud icon in Cloudflares settings. The icon will then go orange and the traffic will be routed through Cloudflare.

CloudFlare appears to transparently replace all CNAME records to A, so this CNAME record is not visible for Azure. You have to change nameservers of your domain to its original ones (provided by GoDaddy in your case), add CNAME through GoDaddy DNS panel, wait for Azure to see it, approve domain in Azure, and only then migrate to CloudFlare.

Related

How to change the DNS Zone nameserver in Azure?

How do I change the nameserver in a Microsoft Azure DNS Zone to be something else? I'd like to use Cloudflare for my nameservers instead of the default Azure ones.
As far as I know, you can not change Microsoft azure DNS name server. Azure DNS is a hosting service for DNS domains that provides name resolution by using Microsoft Azure infrastructure. But Azure DNS supports co-hosting domains with other DNS services.
To set up co-hosting, modify the NS records for the domain to point to the name servers of both providers. Read here.
For example, you can add name servers from Cloudflare in the additional name servers in the NS record on the Azure portal.
The Name Server (NS) update are done on the domain registrar side. In 'Azure DNS', Microsoft just manages the domain they are not the registrar.
If you want Cloud Flare to manage your domain the NS record needs to be change on the domain registrar side.
If you bought an Azure App Service Domain, you get a DNS Zone (mine didn't work properly, and that's how I got to my solution). You also get a second resource from the domain itself (the App Service Domain resource). If you there click on the tab Advanced Management portal you will be redirected to a different site. From there you can go to the DNS tab at the top, select Manage Zones and fill in the domain you want to control.
From there, scroll down, and you'll see something like this.
As you can see, there are two nameservers. Those nameservers point to Azures DNS system. But here, you can actually change the nameservers.

Azure Web App naked URL redirects but www does not

I have a web app deployed on Azure and I'm trying to make it so both <myurl>.com and www.<myurl>.com work. Right now I have both domains listed on Azure within my webapp. www.<myurl>.com is registered as a CNAME from www to <myurl>.azurewebsites.net in godaddy. I have an A record from # to the IP address shown by Azure, as well as a TXT record from # to the given DNS by Azure <myurl>.azurewebsites.net
The problem is when I go to http://<myurl>.com it will change the URL to <myurl>.azurewebsites.net but when I go to http://www.<myurl>.com the URL is does not change.
Below are my go daddy DNS records. Most of these were there when I bought the domain so I'm not sure what they do. There is an A record that I can't seem to edit and I don't know what that IP address belongs to either.
Alot of this can be done with an A and a CNAME. You will need to add both "www" and "awverify.www" in your DNS, and do those corresponding entries in the Azure portal.
Here's good doc:
https://blogs.msdn.microsoft.com/kaushal/2013/07/05/azure-app-service-how-to-configure-a-custom-domain/
Here's alot more details:
https://learn.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-custom-domain
The Azure portal will also give clues on what to do.

Client cname pointing to my domain on cloudflare

A client of ours has the domain client.com
Our application is at superapp.mycompany.com
We want the client to be able to access our application via their own subdomain, like: superapp.client.com.
Normally we'd just tell the client to add a cname for superapp and point it to superapp.mycompany.com. Then on our server (IIS) we'd bind their domain to our app and everything would work as intended.
However, we can't replicate this functionality when our mycompany.com domain is managed via cloudflare.
When we navigate to superapp.client.com we get the following error page:
Error 1001
What happened?
You've requested a page on a website (superapp.client.com) that is on the Cloudflare network. Cloudflare is currently unable to resolve your requested domain (superapp.client.com).
Is there any way that Cloudflare can be used in this fashion?, this seems like a pretty standard set up for a multi tenant application that supports custom domains.
We don't need all the protection that Cloudfront offers for these client domains, but we want to use the Cloudfront nameservers for out application (mainly for fast switching of DNS records in the event we migrate servers, etc).
Any help is appreciated.
I hope it's not too late. But just found a way to do so.
You just need to add your client's domain (Add site in Cloudflare) to your account.
You don't need to change client domain's NS. So in your Cloudflare panel this domain will showing as "Pending Nameserver Update".
Next step is add the CName record to this domain.
Although the NS of client domain is not changed to CF, but CF has a lookup record as CName for it.
Hope it helps.
Just in case someone arrived here with same issue as me. Here is the answer. For short, no that won't work.
Since Cloudflare is a reverse proxy for the domain that is on Cloudflare, the CNAME redirect for the domain (not on Cloudflare) wouldn't know where to send the traffic to.
Ref: https://support.cloudflare.com/hc/en-us/articles/360017421192-Cloudflare-DNS-FAQ#CloudflareDNSFAQ-CanICNAMEadomainnotonCloudflaretoadomainthatisonCloudflare
If you don't need the CDN benefits, you can still use Cloudflare nameservers to manage your DNS zone and keep your current configuration. Just make sure the CDN is deactivated for the target subdomain in your zone (superapp.mycompany.com in your case).
You can tell if the CDN is activated or deactivated for a subdomain by looking at the cloud icon on the right of each DNS entry: if the cloud is orange the CDN is active, if it is gray, it isn't.
Cloudflare also supports external CNAME resolution in their CDN infrastructure, but it's only available for its Enterprise customers:
https://support.cloudflare.com/hc/en-us/articles/217371987-Managed-CNAME

Domain registrar's DNS records vs web hosting DNS records

I bought a domain from Google Domains. I have an A record (on Google Domains DNS control panel) pointed to my server's IP. I had a www CNAME record pointed to mydomain.tld. To experiment with my hosting panel's DNS (I have VestaCP) I deleted the www record from Google Domains DNS panel. There was already a www A record on VestaCP DNS panel. I deleted that and added a www CNAME record pointing to mydomain.tld. And suddenly my www.mydomain.tld stopped resolving. I also tried adding a test A record but I couldn't ping `test.mydomain.tld'.
So, how does hosting panel's DNS work? Each time I add a new website (be it a sub domain or a new domain itself) VestaCP creates certain DNS records. Are these DNS records supposed to override the ones in domain registrar's DNS panel or vice versa? What are DNS records in VestaCP DNS are there for?
When you have your hosting and domain in one single server or with one provider, your domain DNS will be with your domain itself. You just need to point the A record to hosting IP. Your Nameservers will be the default.
If you have your domain with one hosting provider and domain with other then you need to change your domain Nameservers to hosting nameservers. Then your DNS will migrate to your hosting account. The changes you may do in your domain panel will not affect. You can change your DNS settings from your hosting account only.
Hope it helps.

awverify CNAME not being picked up

I have setup a CNAME for my domain using the awverify.www.DOMAIN.com. I'm using CloudFlare as my DNS provider. It's been more than 48 hours and using some dig tools on the internet, I can request the awverify domain and get the right response, yet Azure management portal still says it's not a relevant domain.
Any tips/advice???
Cheers!
Do you have that record marked with our proxy (orange cloud) in your DNS settings? That record may need to go direct until they verify (grey cloud). Try changing the cloud to off of CloudFlare in the DNS settings for that record to see if it helps.

Resources