Субдомены, начинающиеся с подстановочного знака

Субдомены, начинающиеся с подстановочного знака

Я хочу добиться такого поведения на серверах IIS 10 и GoDaddy DNS.

У меня есть три сервера, обрабатывающие три приложения, первые два работают нормально, а вот с третьим возникли проблемы:

  1. Весь www.example.comтрафик non-www.example.comидет на один сервер.
  2. Все api.example.comпереходит к другому.
  3. Все s*.example.comидет на третий сервер (только поддомены, начинающиеся с буквы S)

Принимая во внимание, что завтра у меня может быть api2.mydomain.comи т. д.

Спасибо!

решение1

DNS wildcards являются бинарными: это все или ничего, вы не можете сопоставить только некоторую часть метки, например, ваш s*.example.com. Это часть протокола, поэтому он не будет работать, какое бы программное обеспечение вы ни использовали[1]

ВидетьRFC4592и его раздел 2.1.1:

«Подстановочное доменное имя» определяется начальной (то есть самой левой или наименее значимой) меткой в ​​двоичном формате:

 0000 0001 0010 1010 (binary) = 0x01 0x2a (hexadecimal)

Первый октет — это обычный тип метки и длина для метки длиной в 1 октет, а второй октет — это ASCII-представление [RFC 20] для символа «*».

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

Помните, что подстановочные знаки, какими бы привлекательными они ни казались, могут создавать сложные проблемы, особенно с записями CNAME. Файлы зон обычно представляют собой текстовые файлы, поэтому их создание и размещение в них любого количества записей легко автоматизировать, вместо использования подстановочных знаков.

[1]: за исключением, конечно, очень специфичного сервера, к которому вы можете подключить определенный бэкэнд, который будет действовать на этикетке так, как вам нужно.

Связанный контент