Configuring "@" CNAME record in GoDaddy control panel
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?
Solution 1:
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
to www.example.com
for you, to which you will point A
(and AAAA
) 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
to www.example.com
and update your DNS to support the change. You should leave the Advanced Options at their defaults.