DNS поддомена Heroku

У меня есть приложение Rails с собственным доменом и поддоменами с подстановочными знаками, размещенными на Heroku (Cedar). Назовем его https://mysite.com.

Если пользователь переходит, например, на https://bobcat.mysite.com, приложение Rails настроено на обслуживать только данные, относящиеся к учетной записи bobcat.

bobcat.com зарегистрирован в компании, занимающейся доменными именами, и не имеет ничего общего с Heroku. Я хочу изменить настройки DNS, чтобы bobcat.com перенаправлял на https://bobcat.mysite.com. Какие настройки CNAME я использую? Что мне делать со своей учетной записью Heroku.

Простите этот вопрос, на который, вероятно, можно было бы ответить, достаточно погуглив, но я не могу ошибиться...


person snowangel    schedule 10.10.2012    source источник
comment
Когда вы говорите о перенаправлениях, вы имеете в виду, что хотите, чтобы пользователь показывал URL-адрес bobcat.com при просмотре содержимого https://bobcat.mysite.com? Просто пытаюсь уточнить.   -  person veritas1    schedule 10.10.2012
comment
Привет - в идеале да. Но я был бы достаточно счастлив, если бы в адресной строке отображалось https://bobcat.mysite.com после того, как пользователь ввел http://bobcat.com.   -  person snowangel    schedule 10.10.2012


Ответы (2)


Вся информация содержится в документах Heroku по персональным доменам.

Особенно важно, чтобы вы установили записи как для bobcat.com, так и для www.bobcat.com, которые с точки зрения DNS являются двумя отдельными записями.

Для Heroku www.bobcat.com обрабатывается CNAME до myapp.herokuapp.com (в кедровом стеке).

Однако для «голых доменов», таких как bobcat.com, нельзя указать cname (из-за ограничений в спецификациях DNS), поэтому у вас есть два варианта:

1) Укажите bobcat.com A-Records на IP-адреса, указанные в документах выше.

OR

2) Перенаправьте bobcat.com на www.bobcat.com с помощью бесплатного сервиса wwwizer. Это так же просто, как указать bobcat.com A-Records на 174.129.25.170. Я использую этот подход в паре своих проектов.

person Thomas Klemm    schedule 10.10.2012
comment
Спасибо за это @thomas-klemm - но знаете ли вы, как перенаправить www.bobcat.com на subdomain.myapp.herokuapp.com, потому что это то, что я хочу? На данный момент у меня есть CNAME, указывающий на bobcat.mysite.com, но он отображает только mysite.com. Спасибо! - person snowangel; 22.10.2012
comment
Удалось ли вашему приложению правильно распознавать субдомены? Настройки там могут быть немного сложными, чтобы он вел себя одинаково с bobcat.mysite.com третьего уровня и bobcat.myapp.herokuapp.com четвертого уровня. - person Thomas Klemm; 22.10.2012
comment
Я понятия не имею, если честно. Результатом heroku certs является Конечная точка: akita-randomnumber.herokussl.com Обычное имя: *.bobcat.com, bobcat.com - person snowangel; 22.10.2012
comment
Я имел в виду внутреннее распознавание: существует config.action_dispatch.tld_length, который позволяет request.subdomain правильно анализировать . См. этот вопрос по стеку. Может ли быть так, что настройки DNS в порядке, но ваше приложение неправильно анализирует поддомены и, таким образом, отображает неправильный сайт для запроса? - person Thomas Klemm; 23.10.2012

Итак, я считаю, что в настройках DNS для доменного имени bobcat.com нужно создать новую запись CNAME.

Так было бы:

Hostname: bobcat.com
Type: CNAME
Destination CNAME: https://bobcat.mysite.com
person veritas1    schedule 10.10.2012
comment
В соответствии с RFC1033 CNAME не может сосуществовать с другими записями, что означает, что на вершине зоны, поскольку вам нужно Записи SOA и NS, у вас не может быть CNAME, поэтому это не сработает. Вы можете попробовать это с помощью BIND; он отвергнет это. - person Wil Tan; 15.10.2012