Использование электронной почты с Heroku и CNAME
Я занимаюсь настройкой записей MX в размещенном на HEROKU приложении, и у меня возникают проблемы.
У меня есть две установки CNAME:
@ myapp.herokuapp.com
www myapp.herokuapp.com
Сайт работает отлично, как описано выше. Теперь я пытаюсь добавить поддержку по электронной почте, добавив записи Google MX.
@ ASPMX.L.GOOGLE.COM. MX 10 1800
- а также четыре других отскока MX -
Google Apps заявляет, что не может читать записи MX. Это потому, что они противоречат записи @CNAME? Если это так, я должен отказаться от этого метода и использовать метод "Голый домен" (вместо установки трех записей A). Heroku заставляет это звучать так, как этот метод сильно обескуражен против CNAME для "@" не WWW.
Спасибо за помощь!
Ответы
Ответ 1
Я нашел, что лучший способ сделать это - использовать функцию переадресации 301 Google Apps "Голый домен", как описано в https://support.google.com/a/answer/2518373?hl=en
1) Перейдите в Консоль администратора - Домены - Изменить голый редирект
2) Перенаправление на WWW.your_domain.com
3) Вы настроите 4 A-Records в своем DNS, указав свой your_domain.com на
- 216.239.32.21
- 216.239.34.21
- 216.239.36.21
- 216.239.38.21
Теперь, когда кто-то указывает на ваш_домен .com, он получает 301, перенаправленный на WWW.your_domain.com
Это, кстати, так же, как gooogle.com ведет себя (301 переадресовать на www.google.com)
HT: http://smallchou.com/post/41388058201/heroku-and-root-aka-apex-or-naked-domains
Ответ 2
Видимо, они конфликтуют. Из Героку:
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).
Удаление CNAME и замена его записью A, казалось, работало - через несколько минут Google собрал записи MX.
Конечная настройка была единственным WWW CNAME, указывающим на myapp.herokuapp.com. и три записи A, каждая из которых указывает на один из IP-адресов, обозначенных Heroku.
Ответ 3
Я просто боролся с чем-то вроде этого. Когда я переключился на Heroku, я добавил CNAME, чтобы указать мой корневой домен (my_domain.com) на герою, и эта ссылка, я думаю, переадресует все и убивает ваши записи MX для электронной почты, так что я решил, что вместо этого укажу только мой субдомен www к heroku через запись cname (www.my_domain.com), а затем я добавил ссылку, пересылающую мой корневой домен (my_domain.com) в мой поддомен (www.my_domain.com). Затем мои записи MX работали снова, но мне пришлось подождать несколько часов, чтобы он начал работать (к счастью, я сдался и лег спать, а затем утром понял, что это сработало). Чтобы указать корень в субдомен www, у моего провайдера доменных имен был параметр, называемый указателями, а выбранные мной параметры были "стандартными", "URL" и "www.my_domain.com"
Затем, чтобы заставить SSL работать, мне пришлось добавить перенаправление в код веб-сервера backend для перенаправления http на https, так что теперь, если вы наберете my_domain.com, он перенаправляется на www.my_domain.com, а затем перенаправляется на https. my_domain.com, так что сумасшедший, но он работает очень быстро, поэтому я думаю, это хорошо.
Ответ 4
Если ваш DNS-провайдер поддерживает ALIAS (Namecheap теперь поддерживает), вы можете легко получить как электронную почту (MX, TXT records), так и использовать голый URL (example.com, а не www.example.com) с heroku.
Вместо выбора типа записи CNAME выберите ALIAS. Пример namecheap для расширенной строки DNS будет выглядеть так:
(Type) (Host) (Value) (TTL)
ALIAS Record @ heroku-weird-dns-target.herokudns.com 5 min
Алиас будет играть вместе с TXT и MX.