108

I know it's valid to have a DNS A record that's a wildcard (e.g. *.mysite.com). Is it possible/valid/advised to have a wildcard CNAME record?

1
  • Aside: this still doesn't give you a way to make mysite.com itself a CNAME. Mar 3, 2017 at 15:01

8 Answers 8

76

It is possible to do this. At one point it was up in the air a bit until 4592 clarified that it should be supported.

Just because it is possible doesn't mean it is supported by all DNS providers. For example, GoDaddy won't let you set up a wildcard in a CNAME record.

In terms of whether it is advisable or not to do this, it depends on your usage. Usually CNAMES are used for convenience when you are pointing to an "outside" domain name that you don't control the DNS on.

For example, let's say you set up a CMS system that allows you to have *.mycms.com as the site name (it uses host headers). You want customers to be able to easily set up *.cms.customer.com, without worrying that you might change your IP address at some point. In that case, you could advise them to set up a wildcard CNAME called *.cms.customer.com to www.mycms.com.

Because wildcard CNAMES aren't supported by all providers (such as GoDaddy), I wouldn't advise using it in a case where you suggested it for various customers (where you don't know their provider's capabilities).

11
  • 9
    Actually you can setup a wildcard DNS with GoDaddy. Just set the Host to "**". Dec 14, 2010 at 15:23
  • 2
    I see that ** is accepted by GoDaddy's DNS manager tool, but does it work as a wildcard? Seems like an undocumented feature.
    – dunxd
    Sep 13, 2011 at 14:30
  • 4
    I've tested it: ** does not work as a wildcard in GoDaddy DNS. I called multiple times to be sure there was no way to do this (even with their Premium DNS) before switching to another provider for this reason.
    – mltsy
    Jul 18, 2012 at 19:49
  • 3
    @mltsy: one of our main sites uses wildcard dns in association with GoDaddy. We have for a few years now and we are not using their Premium DNS. Also, it's * not **.
    – NotMe
    Mar 1, 2013 at 2:22
  • 2
    @DaveKanter oh, you're right. The article statements are only mentioning A records. Nevertheless I've successfully setup a wildcard * CNAME record for a client this February. Using GoDaddy dashboard. And I confirm it works as one would expect.
    – e1v
    May 7, 2019 at 9:07
24

I added the line

*.www        IN CNAME        my_webserver

to my zone file in my bind config and that worked perfectly (ie. whatever.www.domain.com and whatever2.www.domain.com all pointed to my_webserver.

It was also possible to to add exceptions to this by adding the line

exception.www        IN CNAME        another_server

so that exception.www.domain.com pointed to another_server.

1
  • With what hosting provider or DNS software? This is important. Feb 15, 2023 at 16:29
14

Just to add that Amazon Route 53 supports wildcards in any record type.

So you can safely use Route 53 as your DNS provider.

5

We use wildcard dns all the time, and we haven't had any issues. If you point it to an ipaddres, use:

*.mysite.com     Host (A)    Default     xxx.xxx.xxx.xxx

If you want to use an alias, do:

*.mysite.com.   IN CNAME mysite.com.
1
4

As far as I remember you can(ish) sort of do this, but then that CNAME can't be used by any other record type such as NS or MX.

Not quite sure what you're trying to achieve with the "wildcard" thing, so I'll have to give a generic answer :)

To clarify, CNAME aserver.domain means you can't have anothername.aserver.domain

There are exceptions, but I don't know what they are off the top of my head thou and not really sure what you want to do, so I shan't waste time.

1
  • Thank you for that warning about sharing a CNAME record with another type of record for the same domain. I had a similar problem, and my DNS server usually warns me about clashes, but in this case it didn't because the CNAME was for *.example.com and the extra record (a TXT record) was for a specific subdomain subdomain1.example.com. So it didn't catch the clash! Whoops. Dec 5, 2016 at 18:56
2

when you create a CNAME record end the pointed server with a dot, ex: *.mydomain.com. Notice the last dot

1

Here are the results of my test. I deleted the A records for mysite.com and www.mysite.com and added a CNAME record for *.mysite.com. The test didn't work. mysite.com wouldn't resolve. Just to be clear, I use OpenDNS for my DNS servers. Maybe it works fine with other DNS servers, but I obviously want it to work universally. Based on those results, I'm going to stick with the standard A records.

3
  • Isn't this expected behaviour? As far as I can see *.mysite.com won't match mysite.com, regardless of RR type. Does that work with A records? Jul 23, 2009 at 19:52
  • No, '' matches one or more labels, so '.example.com' doesn't match 'example.com'
    – Alnitak
    Jul 24, 2009 at 7:53
  • 1
    I didn't know that, but it makes sense. So it seems that I need at least one A record for the root domain name and then I could use a wildcard CNAME record to cover everything else. That isn't really the solution I wanted, but at least I know.
    – Ben Mills
    Jul 25, 2009 at 14:36
1

It does work now.

Just use a "*" in the cname section of the zone file editor or DNS manager from Godaddy an point to an IP or DNS name.

In my case I used it with an DNS name pointing to an Microsoft Azure cloudservice and it worked great. This works for bla.domain.ext but also for bla.bla.domain.ext. Might work different for another provider.

2
  • 1
    DNS CNAME records do not point to URLs or IPs, but to a single DNS name which the name with the CNAME entry is equivalent to. Aug 31, 2013 at 2:22
  • Noted, I changed the answer Sep 6, 2013 at 13:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .