Я создал приложение и планирую разместить его на 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>