DNS Mystery in Heroku CNAME Redirection - heroku

I have something quite mysteriously not working in my DNS configuration :
My app is at : http://my-domain.herokuapp.com
I configured my-domain.com the following way :
# 10800 IN A 174.129.25.170
www 10800 IN CNAME my-domain.herokuapp.com.
using wwwizer.
So, http://my-domain.com redirects to http://www.my-domain.com which CNAMEs to http://my-domain.herokuapp.com
Everything seems fine, but when I enter http://my-domain.com or http://www.my-domain.com, I get : Heroku | No such app error message.
So I tried this :
host http://www.my-domain.com
www.my-domain.com is an alias for my-domain.herokuapp.com.
my-domain.herokuapp.com has address 54.243.92.108
and
host http://my-domain.herokuapp.com
my-domain.herokuapp.com has address 184.72.248.52
I can't see where the problem is. WWWizer seems working fine, but it feels like CNAME hasn't refreshed since the herokuapp IP changed ...
Any tip would be super appreciated.
Thanks

Thanks to #neil-middleton comment, I found the solution.
I did added earlier heroku domains:add my-domain.com
but did not for
heroku domains:add www.my-domain.com
which is the one that matters here. (Though I left both in case)
So it seems heroku has its own internal DNS control when CNAME-ing *.herokuapp.com where it gets as an entry the heroku domains.
This is logical to avoid setting CNAME to an app one don't own.

Related

How to point a naked domain at Heroku app without setting a custom domain

I've got a domain wildcard.xyz and an app hosted on Heroku. When I try to add wildcard.xyz as a custom domain on Heroku, it won't let me ("wildcard" is reserved 🙄 ).
I can add www.wildcard.xyz, point a CNAME www to www.wildcard.xyz.herokudns.com and the www works fine, but can't seem to find any way to point the apex to Heroku. I'm using DNSimple.
None of these have worked so far:
ALIAS to www.wildcard.xyz.herokudns.com (Heroku says "no app found")
ALIAS to myapp123.herokuapp.com (doesn't work for HTTPS)
CNAME * to wildcard.wildcard.xyz.herokudns.com (doesn't catch apex)
URL apex to www (URL record redirect doesn't work for HTTPS)
Any ideas of how I can get around this?
I was having a similar issue. Have you tried using DNSimple's one-click Heroku setup? https://dnsimple.com/services

How to point a TK domain to a heroku app?

I'm a noob. I've set up a tk domain here http://dot.tk/ I'd like to point to myapp.herokuapp.com. How can I do it?
I cannot figure out what entry to add, ARecod, Cname, MX record? What do I put in the HOST and IP fields? I keep getting "invalid data". Should I choose TK domain service or custom domain service?
In heroku I typed
heroku domains:add myapp.tk
Now what do I do?
Please, I'm not looking for an explanation as to how domain forwarding works. I'm sure as a network expert, you can spend hours studying it. I just need to know how to give my app a tk domain. Thanks
These are the panels I see
UPDATE
I've managed to do it with a CNAME record HOST=www.myapp.tk and IP=www.myapp.herokuapp.com but after 30 minutes they both stopped working and give a 404 error!? Is heroku blocking .tk domains?
UPDATE2:
I've registered another tok domain name. The www.myapp2.tk works but myapp2.tk does not work. My older www.myapp.tk and myapp.tk still give 404 error. Does anybody know how to fix this? I've done the following heroku commands:
heroku domains:add myapp.tk
heroku domains:add www.myapp.tk
heroku domains:add myapp2.tk
heroku domains:add www.myapp2.tk
In "cname record": host: www.myapp.tk ip-addres: herokuapp.com .
ping - a herokuapp.com in cmd and get ip, e.g. herokuapp.com [174.129.22.189]
add a-record host: myapp.tk ip-addres: 174.129.22.189 .
I couldn't get CNAME to work but everything seems to be all set with the following settings (I pinged herokuapp.com to get its IP):
SIDE NOTE: The validation on this page is finicky. Once it tells you that you've entered in a field incorrectly, it's smarter to just close the page and reattempt to enter the fields. I think their validation messes something up.
After you add those a record. Make sure they are included in your heroku app's domain list:
Heroku has dynamic IPs, you cannot ping to get an IP and just set it; might not work in other cases. See the answers here: How to point a TK domain to a heroku app? for correct solutions.

Pointing to subdomains with Heroku

I want both www.domain.ie and domain.ie to point to domain.herokuapp.com
I want secure.domain.ie to point to a third party booking engine.
I've run the following command:
heroku domains:add www.tankardstown.ie
Here is what my DNS setup looks like
The www.domain.ie and domain.ie redirects are working fine. The problem is with the secure.domain.ie. Currently, I'm getting this error:
Seems to be ok:
$ dig +noall +answer secure.tankardstown.ie
secure.tankardstown.ie. 86395 IN A 82.195.138.28
probably just a DNS propagation delay?
Found this issue whilst looking for something else, but thought I'd better answer this question for other weary travellers...
Looks this issue was because the domain was not added correctly to Heroku.
The OP only added 'www.' but should have added a wildcard domain or 'secure.' as a subdomain.
Actual Solution:
OP should have run:
heroku domains:add *.tankardstown.ie
Heroku has more information here:
https://devcenter.heroku.com/articles/custom-domains#add-a-wildcard-domain

Using email w/ Heroku and CNAME

I am in the process of setting up MX records on a HEROKU hosted app and am running into issues.
I have two CNAME's setup:
# myapp.herokuapp.com
www myapp.herokuapp.com
Site works fine as setup above. I am now trying to add email support by adding Google Apps MX records.
# ASPMX.L.GOOGLE.COM. MX 10 1800
--as well as four other MX fall backs--
Google Apps is saying it can't read the MX records. Is this because they are conflicting with the # CNAME record? If so, should I drop that and used the "Naked Domain" method (Setup three A records instead). Heroku makes it sounds like this method is highly discouraged vs CNAMEs for "#" non WWW.
Thanks for the help!
I found the best way to do this is to use Google Apps "Naked Domain" 301 Redirect Feature as described in https://support.google.com/a/answer/2518373?hl=en
1) Go to Admin Console - Domains - Change Naked Redirect
2) Redirect to WWW.your_domain.com
3) You will setup 4 A-Records in your DNS pointing your your_domain.com to
216.239.32.21
216.239.34.21
216.239.36.21
216.239.38.21
Now, when somebody points to your_domain.com they get 301 redirected to WWW.your_domain.com
This, btw is the same way gooogle.com behaves (301 redirect to www.google.com)
HT: http://smallchou.com/post/41388058201/heroku-and-root-aka-apex-or-naked-domains
Apparently they conflict. From Heroku:
Hi, you can't have CNAME entries on the zone apex.
You'll need to do the A records setup, or use a DNS provider that
supports ALIAS/ANAME records (DNSimple, DNS Made Easy, Route 53).
Removing the # CNAME and replacing it with A records seemed to work - within minutes Google picked up my MX records.
Final setup was a single WWW CNAME pointing to myapp.herokuapp.com. and three A records, each pointing to one of the Heroku listed IPs.
I was just struggling with something like this. When I switched to Heroku I added the CNAME to point my root domain (my_domain.com) to heroku and that link I guess forwards everything and kills your MX records for email, so the way I solved it was to instead point just my www subdomain to heroku via cname record (www.my_domain.com), and then I added a link forwarding my root domain (my_domain.com) to my subdomain (www.my_domain.com). Then my MX records worked again, but I had to wait a few hours for it to start working (luckily I gave up and went to bed and then in the morning realized it had worked). To point the root to the www subdomain, my domain name provider had a setting called pointers, and the options I selected were 'standard', 'URL' and 'www.my_domain.com'
Then to get SSL to work I had to add a redirect in the backend webserver code to redirect http to https, so I guess now if you type my_domain.com it redirects to www.my_domain.com and then redirects to https.my_domain.com, so kinda crazy but it works super fast so I guess it's good.
If your DNS provider supports ALIAS (Namecheap now does) you can easily get both email (MX, TXT records) and use the naked url (example.com, instead of www.example.com) with heroku.
Instead of choosing CNAME record type, pick ALIAS. Namecheap example of advanced DNS line would be like this:
(Type) (Host) (Value) (TTL)
ALIAS Record # heroku-weird-dns-target.herokudns.com 5 min
ALIAS will play along with both TXT and MX.

heroku no such app

I followed the docs at Heroku and Zerigo to set up a custom domain for MYAPP.heroku.com. When I navigate to myapp.heroku.com, everything works fine. But when I navigate to myapp.com or www.myapp.com, I get the error "Heroku | No such app"
host myapp.heroku.com
myapp.heroku.com is an alias for proxy.heroku.com.
[.....]
looks good, and
host www.myapp.com
www.myapp.com is an alias for proxy.heroku.com.
[.....]
looks good too. But I still get "Heroku | No such app".
totally baffled at this point
The DNS entries look fine - provided you've added www.myapp.com as a custom domain to your application on Heroku then it should work fine. You can check this by viewing the application from the 'My Apps' tab on heroku.com and making sure the custom domain is listed in the domains section as 'www.myapp.com'.
If thats there then I'd log a ticket with support as you're doing everything right.
UPDATE: Heroku Status was just updated with a problem surrounding custom domains, it's likely that this is your problem - https://status.heroku.com/
HEROKU UPDATE: Engineers are still investigating the source of issues regarding custom domains. We have determined that only domains added or updated in the past 48 hours should be affected.
We'll continue to provide more information as it becomes available.

Resources