I have mydomain.com
that is hosted on an Azure VM instance called mymachine.cloudapp.net
I need to configure DNS so that both www.mydomain.com
and mydomain.com
get mapped to the same host. I'm using GoDaddy as registrar.
Currently GoDaddy offers me to create an empty (@
) A record, so that if I ping mymachine.cloudapp.net
and resolve its VIP address I can store it in the A record.
Unfortunately, if the VIP changes and I forget to re-ping I get mydomain.com
unreachable, and that's normal.
When I try to move that @
record to the CNAME section so it best points to the VM hostname, I get the following error:
A record of a different type exists for the hostname @, could not create CNAME
This occurs both if I delete the A record and write CNAME, and if there is no @
record in the A section.
How can one set a @
CNAME record in a GoDaddy managed domain?
In short, you can't make the @ record a CNAME without deleting all other resource records for @, and you can't do that since some (like the NS records) are required for proper DNS functionality. This is one reason why providers such as Heroku tell you not to use naked domain names.
You will need a host to perform the HTTP redirection from
example.com
towww.example.com
for you, to which you will pointA
(andAAAA
) record for @.If your DNS is hosted with GoDaddy, then they have a free service that will do this for you. In your GoDaddy domain manager, look on the left hand side for "Forwarding" and click "Manage". Then set it to forward
example.com
towww.example.com
and update your DNS to support the change. You should leave the Advanced Options at their defaults.You can't add a new @ CNAME record without deleting all of the other records in GoDaddy.
Instead leave the CNAME records as they are, and set the A (Apex) Record like mentioned in the docs http://surge.sh/help/adding-a-custom-domain
It should look like this:
or in the GUI: