Так что я новичок в том, чтобы на самом деле заботиться о том, как на самом деле работает DNS, а не о подключении чего-либо и устранении неполадок. У меня есть приложение, которое будет отображать разную информацию в зависимости от того, из какого домена заходит пользователь. Однако я не совсем уверен, как это работает с моей стороны.
В голове у меня есть два возможных решения: 1. Мой DNS создает новый CNAME для каждого экземпляра 2. Я сохраняю простой DNS с помощью подстановочного знака * .mysite.com
Возможны ли оба эти пути?
Мой стек сосредоточен на AWS, поэтому я использую Route 53 и использовал бы их API, если бы выбрал 1-й вариант.
Я предполагаю, что это для веб-приложения, и да, оба метода будут работать.
Допустим, вы используете CNAMES:
sitea.domain.com CNAME server.domain.com
siteb.domain.com CNAME server.domain.com
server.domain.com A 1.2.3.4
Когда вы входите sitea.domain.com
в веб-браузере ваш DNS-преобразователь попытается получить IP-адрес, который на основе CNAME вернется как 1.2.3.4
. Затем браузер подключится к 1.2.3.4
и попытаться получить веб-сайт sitea.domain.com
.
На веб-сервере вы можете настроить разные виртуальные хосты для каждого домена или, что более применимо в вашем случае, иметь один веб-сайт, который обрабатывает все запросы и использует HTTP_HOST
переменная среды, чтобы определить, какое имя хоста ввел пользователь, и на основании этого отобразить соответствующую информацию.
Подстановочные знаки, вероятно, упростят ваше приложение, поскольку вам не нужно будет добавлять больше записей DNS каждый раз, когда вам нужно новое имя хоста. (Вы также можете сделать подстановочный знак записью A, указывающей непосредственно на IP-адрес, но это не имеет большого значения):
*.domain.com A 1.2.3.4
или
server.domain.com A 1.2.3.4
*.domain.com CNAME server.domain.com
Это будет работать примерно так же - Пользователь помещает xyz.domain.com
в их веб-браузере он разрешается 1.2.3.4
, они подключаются к 1.2.3.4
и запросить веб-сайт для xyz.domain.com