Назад | Перейти на главную страницу

Как использовать CNAME для загрузки веб-приложения

Я создал приложение и планирую разместить его на example.com. У меня около 10 клиентов, которые хотят, чтобы приложение размещалось под их торговой маркой (отмечено белым). Вместо того, чтобы развертывать одно и то же приложение 10 раз, я бы предпочел разместить приложение на example.com и указать CNAME каждого домена клиента на example.com.

Я реализовал то же самое, но по какой-то причине это не работает должным образом.

Моя текущая настройка:

customer1.tld.          60      IN      CNAME   prod.example.com.
prod.example.com.       59      IN      A       62.xx.xxx.204

Когда я загружаю prod.example.com в браузере, он работает без проблем, но когда я вхожу в customer1.tld, он не работает. Логика - dns клиента (CNAME) должен указывать на мое имя хоста, а мое имя хоста (запись A) должно указывать на IP-адрес моего сервера. Что-нибудь, что я пропустил?

Другая связанная информация, которую я использую:

CNAME не разрешены на вершине домена. Так что делать это нужно так:

customer1.tld.          60      IN      A       62.xx.xxx.204
customer2.tld.          60      IN      A       62.xx.xxx.204
prod.example.com.       59      IN      A       62.xx.xxx.204

www.customer1.tld       60      IN      CNAME   prod.example.com.
www.customer2.tld.      60      IN      CNAME   prod.example.com.

Некоторые облачные службы DNS, такие как Route 53, предлагают новую службу, называемую псевдонимами, которую можно использовать для решения этой проблемы, поскольку они позволяют использовать CNAME на вершине.

Веб-сервер должен знать обо всех этих псевдонимах: перечислите их в ServerAlias директива из <VirtualHost> вашего приложения.

<VirtualHost>
    ServerName prod.example.com
    ServerAlias customer1.example.net customer2.example.org

    . . .
</VirtualHost>