Несколько доменов (с префиксом & без www) на одном сервере с одинаковым кодом
Мы унаследовали следующую настройку сайта:
- один основной веб-сайт и около 130 дополнительных веб-сайтов, которые все указывают на домен основного веб-сайта (с помощью настройки DNS CNAME);
- Веб-сайт размещен на сервере IIS 6;
- Код одинаков для всех сайтов;
- 130 вторичных веб-сайтов отображают почти такой же контент, что и основной веб-сайт, с некоторыми уникальными отличиями, характерными для каждого домена;
- Контент обслуживается на основе доменного имени. Я имею в виду, что резервное копирование читает веб-адрес браузера и соответственно обслуживает контент.
Проблема
В настоящее время 130 веб-доменов не работают без www.
Попытка решения
Настройка каждого из 130 доменов DNS с именем A, указывающим на IP-адрес основного веб-сайта, не работала. Это приводит к потере исходного домена, поэтому основной сайт обслуживается.
Вопрос
Возможно ли чисто DNS-решение?
Есть ли прямое решение, которое не требует 131 версии одного и того же кода и 131 разных IP-адресов?
Я в первую очередь разработчик внешнего интерфейса, все эти настройки DNS/ сервера немного выходят за рамки моей зоны комфорта, поэтому извиняюсь, если часть этого описания не имеет смысла, и, пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Заранее благодарю.
Для записи (ах!) Это записи DNS, разрешенные нашим провайдером Star:
- AAAA
- CNAME
- MX
- NS
- текст
- SPF
- SRV
4 ответа
У меня это работает с тысячами имен хостов (поддоменов). Возможно, вам нужна DNS-запись с подстановочными знаками (*.mydomain.com). Вы можете использовать запись CNAME, которая связывает ее с записью A для основного домена (даже если основной домен соответствует шаблону, например www.mydomain.com). Запись с подстановочными знаками будет использоваться для ЛЮБЫХ поддоменов, явно не найденных в других записях CNAME или A, даже с несколькими поддоменами, такими как www.sub1.sub2.mydomain.com. Вы можете иметь явные записи для каждого субдомена, но нет никаких причин, если они все обрабатываются одним и тем же веб-сервером.
В IIS вы должны привязать сайт ко всему или к IP-адресу (общедоступному или адресу DMZ, который ваш брандмауэр пересылает общедоступному IP-адресу). Теоретически, вы можете связать каждый поддомен / доменное имя, но это будет много привязок, и, учитывая количество, которое у вас уже есть, вы, вероятно, добавляете больше на регулярной основе, поэтому я бы не рекомендовал это.
Как насчет добавления новой записи на DNS-сервер,
например твой DNS Conf
sample.com A 202.xxx.xxx.xxx
example.com CNAME sample.com
www.example.com CNAME sample.com
надеюсь, это поможет вашей проблеме:)
Вам необходимо настроить как DNS, так и веб-сервер. Например, для "DOMAIN.tld" необходимо настроить зону DNS, чтобы обе записи были следующими:
- один рекорд для DOMAIN.tld
- одна запись A для www.DOMAIN.tld (обе указывают на один и тот же IP-адрес)
Веб-сервер должен быть сконфигурирован так, чтобы он содержал (общий) виртуальный веб-сайт для DOMAIN.tld и www.DOMAIN.tld. Для Apache HTTPD это означает, что один является основным хостом (DOMAIN.tld), а другой - псевдонимом (www.DOMAIN.tld).
Если у вашего DNS-провайдера есть функция, позволяющая перенаправлять "запись", я думаю, что это будет самый простой способ настроить ее без создания псевдонимов на веб-сервере. Используя запись перенаправления, перенаправьте каждый из корневых доменов (myexample.com) на поддомен www (www.myexample.com). Хотя технически это на самом деле не является чисто решением по настройке DNS, я считаю, что оно будет соответствовать вашим потребностям, пока ваш DNS-провайдер предлагает это.
Кто ваш DNS-провайдер?