Допустим, у меня есть главный домен
domain-X.com с записью DNS A, указывающей на IP 1.2.3.4
то у меня есть домены, которые я не могу контролировать, они принадлежат клиентам, которые владеют ими, могут иметь разных провайдеров и т. д.
domain-A.com, domain-B.com, domain-C.com
и я хочу, чтобы эти три домена также указывали на IP 1.2.3.4, но я не хочу устанавливать для A-записи DNS для каждого домена числовой IP-адрес, а скорее как-то указывать им на "IP-адрес domain-X.com" ... Это возможно?
Это должно работать, чтобы приложение на domain-X.com знает, с какого URL (домена) исходил запрос (domain-A.com), а также пользователь должен по-прежнему см. domain-A.com/something НЕ domain-X.com/something в браузере.
Это возможно? Если нет, то какие еще есть решения? Проблема в том, что может быть больше доменов, чем 3, и я хочу указать им на один IP-адрес, где будет веб-приложение, обслуживающее эти домены. Приложению необходимо знать исходный URL-адрес запроса. Но когда IP изменяется (потому что, например, мне придется перенести приложение с одного VPS одного провайдера на другой и т. Д.), Тогда может быть очень проблематично изменить записи DNS во всех этих доменах ...
Спасибо за любые советы и помощь.
РЕДАКТИРОВАТЬ: Предлагаемые ответы для установки домена CNAME-A в домен-X не являются правильными ответами, потому что запись CNAME не может быть без проблем установлена в верхний домен (только поддомен). Видеть CNAME для верхней части домена?
EDIT2: ссылки на возможные дубликаты также бесполезны, поскольку они предполагают, что я контролирую записи DNS всех доменов domain-a / b / c / etc. Фактически, каждый домен может принадлежать разному клиенту / заказчику с разными провайдерами. Все, что я хочу, это упростить указание на мой IP-адрес, на котором работает мое веб-приложение, и избежать проблем в будущем, когда / если мне придется переместить свое веб-приложение на другой хостинг и т. Д. Тогда изменение всех записей DNS может быть проблематичным. ..
Я только что обнаружил, что существует нечто вроде «Виртуального IP». Может ли это помочь?
Мне пришла в голову еще одна идея ... решить эту проблему под другим углом ... какие стратегии существуют, чтобы иметь один IP-адрес на очень долгое время?
РЕДАКТИРОВАТЬ: Как вы нас предупреждали, из-за RFC1912: «Запись CNAME не может сосуществовать с любыми другими данными». Вот почему я собираюсь изменить свой ответ.
Я не хочу устанавливать для A-записи DNS для каждого домена числовой IP-адрес, а скорее как-то указывать им на «IP-адрес domain-X.com» ... возможно ли это?
1) Если для вас это не проблема, создайте выделенный поддомен для своего приложения и укажите его на domain-x.com.
domain-x.com. IN A 1.2.3.4
app.domain-a.com. IN CNAME domain-x.com.
2) Некоторые поставщики услуг DNS разрешают выполнять этот трюк с доменами, проверьте их. ответы, есть список.
Пользователь по-прежнему должен видеть в браузере domain-A.com/something НЕ domain-X.com/something.
Если вы не выполняете перенаправление HTTP, все будет в порядке.
Приложению необходимо знать исходный URL-адрес запроса.
Это зависит от того, как вы его настраиваете, но исходный хост находится в заголовок HTTP-запроса.
РЕДАКТИРОВАТЬ: этот ответ может быть недействительным.
Добавить CNAME
запишите так:
domain-A.com CNAME domain-X.com
Это означает, что во время разрешения доменного имени клиент сначала разрешает domain-A.com
, DNS-сервер замечает, что это CNAME
запись для domain-X.com
и возвращает IP-адрес domain-X.com
.
Итак, клиент получает IP-адрес и по-прежнему показывает domain-A.com
в поле адреса.
Веб-сервер должен быть настроен либо так, чтобы у него был отдельный виртуальный хост для каждого домена, либо не было виртуальных хостов, соответствующих доменным именам.