Pointing same domain to different app service in Azure - azure

I am using Azure App Service to host my NodeExpress application, I am right now stuck at a very strange requirement.
I have 2 different azure app services.
1) myApp
2) sampleApp
I have a domain pointed at myApp. (Added hostname www.myapp.com)
now I want to delete myApp and shift my hostname (www.myapp.com) to sampleApp.
now my Question is,
will it change my IP Address? (This I think it would because I haven't bought any static IP)
if my app service pointing IP is changed, will I have to do anything with the domain DNS manager to move www.myapp.com in hostnames of sample app?
I don't have access to DNS Manager because client has it. I have to tell client to add CNAME to verify domain ownership. I want to point this domain to different app service without adding delay of asking my client to change its cname to verify domain ownership.

You can actually migrate the domainname without downtime by using a verify record. Just create the record:
awverify.www.mydomain.com CNAME mynewnodeapp1.azurewebsites.net
That will enable you to add the hostname www.domain.com to sampleApp in azure (and add an SSL binding).
Source: https://learn.microsoft.com/en-us/azure/app-service/manage-custom-dns-migrate-domain

You have to register the new CNAME from your web application in the DNS server before adding it to Azure App Service. Right now you have something like this:
www.mydomain.com CNAME mynodeapp1.azurewebsites.net
First, change it to your new application address:
www.mydomain.com CNAME mynewnodeapp1.azurewebsites.net
And then add the custom domain to your new web application.
App Service does provide you with a public IP address, but it's not guaranteed to remain the same, although it's unlikely to change. Said that, as long as you keep using CNAME, you shouldn't have any problems. If you delete the original app and recreate using the same Azure FQDN, then you don't need to change anything on customer DNS settings, Azure will be able to verify the domain successfully in this case.

Related

Switching Domain Registrars with Azure Web App CNAMES

I'm changing domain registrars for a custom domain that has 4 sub-domains each pointing to a azure web app via a CNAME.
I don't have any access to this azure web app.
Does anybody know if I can just copy the subdomain cname dns and replicate it on the new domain registrar and then everything will continue to work as normal. Or if azure somehow detects the change and requires you to revalidate the domain after you have switched registrars.
If you are not changing sub-domain / domain ONLY the registrar, there should't be any problem with that. Azure App Service doesn't care what register you are using as long as CNAME is properly configured.

Map two different subdomains to a one Azure App Service Plan (with two different App Service inside)

Let me get this out of the way, I am not that familiar with DNS setup. But I am wondering if I can have this setup. I cannot test this right now because I control the our Azure portal but not the domain name provider.
We will have 2 subdomains. For example, api.contoso.com and app.contoso.com
We currently have a single Azure App Service Plan with two apps inside. One is the frontend SPA, and the other is the backend.
Checking the IP address and Custom Domain Verification ID of the two services, they are the same! So I am wondering if the setup of the two subdomains is possible. If not I'll consider moving out one of the App Service to its own App Service Plan or maybe Just map a single custom domain to the frontend. Any tips or suggestion?
Yes this is completely possible and a very standard setup. You will use CNAME records in your DNS setup which means you won’t use the IP address of the VM that your app service plan is on. Instead a CNAME DNS record maps your custom domain to another domain - in this case the domain name of an app service.
You will configure a different custom domain on each app service (and ideally a certificate to protect it).
E.g. your DNS might look like this:
app.contoso.com CNAME myapp.azurewebsites.net
api.contoso.com CNAME myapi.azurewebsites.net
I.e. when a request is made for a domain on the left it will be forwarded to the domain on the right.
When a request is made for either of your custom domains the custom domain will be in the host header. This request will be routed to the app service gateway which will look at the host header in order to know which VM to route the request to and once on the correct VM which app service to serve the actual request.
Once you have the above setup you can query the DNS system to see the complete route that a request would take, e.g.:
nslookup app.contoso.com
may return:
Name: waws-prod-xyz-123-1234.uksouth.cloudapp.azure.com
Address: 99.99.99.99
Aliases: app.contoso.com
myapp.azurewebsites.net
waws-prod-xyz-123-1234.uksouth.cloudapp.azure.com
With this command you'll see the actual VM that your app service plan is on (I've made up the IP and VM name here!).

How to get IP Address on Azure Web App Service

Is there a way to assign an IP to a Azure App Service? I just deployed my application and it's working correctly. But the problem is we need our domain to point to that App Service. Since our domain is website.com and the app service domain is website.azurewebsites.net is there a way to point the website.com to the azure url? We have a reverse proxy where we can just assign the IP and that will load the site. So if the site is website.azurewebsites.net and ip is 123 then in our reverse proxy we just assign 123 to our domain website.com. So whenever someone access website.com they are presented with website.azurewebsites.net. Is there a way to assign an IP to this app service?
Like silent mentioned, use CNAME mapping to map the domain, alternatively Web Apps actually have a list of possible outbound IP addresses, but I dont think thats reasonable, just use CNAME (you also need to verify your domain in Azure).
App Services is a shared servers which means many App Services is behind same IP hence you need to configure Custom Domain on your App Service to get it to work:
https://learn.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-custom-domain
The shared IP can be found under your App Service on the blade Settings->Properties.
The name is "Virtual IP address"

Remove DNS authorization for IP address in Azure

I have a couple of web applications on an Azure server. A client allowed the domain to lapse, and I can no longer access the DNS settings for this domain. The domain's DNS settings (A records, CNAMES) are still authorized in Azure to control traffic for the server's IP address. So, any app I create on this server now resolves to the domain that is no longer under my control.
How do I get myself out of this pickle? Can I change the server's IP address? I have not been able to find out how to do that. Can I de-authorize the DNS settings that now control access to this IP address?
If you want to remove access to the app from a domain, you just remove the domain from the App Service.
DNS tells users where to go for a particular domain name.
If your app doesn't mention it as a domain, the request won't be routed to it.
Remember that addresses in Azure App Service are shared so it requires that you actually explicitly mention the domain in the app service's configuration.
Ugh. Ok, my issue was that I was redirecting to the domain in my web.config.

DNS Entry for an OpenShift V3

I've recently bought a domain name, and I'm trying to redirect this domain name to an OpenShift v3 web app. (It is my first time setting up things like this, so bear with my ignorance.) Normally, OpenShift provides a hostname, something like:
myapp-myproject.preview.openshiftapps.com
Based on conversation with support of my domain name registry company (not GoDaddy), I need to have some static IP from my Web Hosting provider to add to the DNS Entry or NameServer to link to my domain name (in my domain name account page). It looks like they don't have a clue that PaaS company like OpenShift don't provide a static IP for hosted Web applications.
What I did, is to get the above URL from OpenShift and add this DNS entry as CNAME type, which still didn't work.
Anyone here who has an idea, what I should get from OpenShift in order to tie my domain name and web app?
The CNAME approach should be used. You don't need a static IP address in that case but would use the FQDN of the OpenShift ingress point. You then also need to expose the service in OpenShift via your FQDN and not let it use the generated one.
If you are using the OpenShift V3 developer preview though, I believe use of custom domains is not enabled. The only way I know to have custom host name with the developer preview is to use a proxy service in front.
BTW, do note that the developer preview only provides you a time limited account. You should not use it for real web sites.

Resources