2015-02-24 16 views
2

У меня есть приложение, которое грубо разрывается между сервером, обслуживающим переднюю часть, и обслуживающим API. Мы хотели бы добавить подстановочный знак, чтобы поймать имена пользователей на субдомене и перенаправить их на внешний сервер. Так что мои URL-карта следующим образом:Поддомен подстановочных знаков для некоторых, но не всех значений в DNSimple

сервер, который обслуживает интерфейсные файлы отображаются на https://example.com и https://www.example.com

сервера для API отображается на https://api.example.com

У нас также есть форум, демы и т.д. в домены, такие как https://forum.example.com и https://demo.example.com

Прямо сейчас это все просто, используя записи ALIAS в DNSimple.

Каков наилучший способ захвата https://username.example.com и сопоставить его с интерфейсным сервером? Нам нужно, чтобы это было подстановочным знаком, например. *.example.com, но мы не хотим направить api, forum, demo и т. Д. На этот сервер.

Есть ли способ установить иерархии или приоритеты на уровне DNS, чтобы он сначала проверял именованные совпадения, а затем перешел к подстановочному знаку, если ничего не найдено?

ответ

6

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

*.example.com 

, который указывает на IP (A) или имя хоста (CNAME), которое вы хотите. Правило заключается в том, что если есть определенная запись, соответствующая запросу, наш DNS-сервер будет ее обслуживать. В противном случае мы вернемся к шаблону.

Другими словами, если у вас есть подстановочный знак на месте, и клиент просит api.example.com, мы будем обслуживать DNS-запись api, а не подстановочный знак. Конкретные записи имеют более высокие приоритеты над групповыми символами.

+0

ОК, я надеялся, что это будет поведение по умолчанию, но вы никогда не знаете, и я не хотел просто попробовать его на сайте и посмотреть. Благодаря! – tyler