Использование электронной почты с Heroku и CNAME
Я нахожусь в процессе настройки записей MX в размещенном приложении HEROKU и сталкиваюсь с проблемами.
У меня есть две настройки CNAME:
@ myapp.herokuapp.com
www myapp.herokuapp.com
Сайт работает нормально, как указано выше. Сейчас я пытаюсь добавить поддержку по электронной почте, добавив записи MX Служб Google.
@ ASPMX.L.GOOGLE.COM. MX 10 1800
- а также четыре других отступных МХ -
Службы Google говорят, что не могут читать записи MX. Это потому, что они конфликтуют с записью @ CNAME? Если это так, я должен отказаться от этого и использовать метод "Голый домен" (вместо этого установите три записи A). Heroku звучит так, как будто этот метод крайне не рекомендуется использовать против CNAME для "@" не WWW.
Спасибо за помощь!
3 ответа
Я нашел, что лучший способ сделать это - использовать функцию перенаправления 301 "Голого домена" в Службах Google, как описано в 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
Теперь, когда кто-то указывает на your_domain.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
Видимо они конфликтуют. От 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).
Удаление @ CNAME и замена его на записи A, похоже, сработали - через несколько минут Google подобрал мои записи MX.
Окончательной настройкой было одно CNAME WWW, указывающее на myapp.herokuapp.com. и три записи A, каждая из которых указывает на один из IP-адресов, перечисленных в Heroku.
Я просто боролся с чем-то вроде этого. Когда я переключился на Heroku, я добавил CNAME, чтобы указать мой корневой домен (my_domain.com) на heroku, и эта ссылка, я думаю, перенаправляет все и убивает ваши записи MX для электронной почты, поэтому я решил вместо этого указать только мой поддомен www на heroku через запись cname (www.my_domain.com), а затем я добавил ссылку, перенаправляющую мой корневой домен (my_domain.com) на мой поддомен (www.my_domain.com). Потом мои записи MX снова заработали, но мне пришлось ждать несколько часов, чтобы он заработал (к счастью, я сдался и лег спать, а утром понял, что это сработало). Чтобы указать корень для субдомена www, у моего провайдера доменных имен была настройка, называемая указателями, и я выбрал следующие параметры: "стандартный", "URL" и "www.my_domain.com".
Затем, чтобы заставить работать SSL, мне пришлось добавить перенаправление в коде внутреннего веб-сервера для перенаправления http на https, поэтому теперь я предполагаю, что если вы введете my_domain.com, он перенаправит на www.my_domain.com, а затем перенаправит на https.my_domain.com Так сумасшедший, но он работает очень быстро, так что я думаю, что это хорошо.
Если ваш DNS-провайдер поддерживает ALIAS (Namecheap теперь поддерживает), вы можете легко получить как электронную почту (записи MX, TXT), так и использовать голый 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
ALIAS подыгрывает как TXT, так и MX.