У меня есть приложение SAAS, которое имеет 3 разных поддомена.
example.com
app.example.com
support.example.com
Я хочу использовать White Label услуги только в support.example.com
Пример: testcompany.com
требует услуг для моего support.example.com
Для этого мне нужно что-то вроде support.testcompany.com
который должен в основном загружать support.example.com
интернет сайт.
Я создал запись CNAME в testcompany.com
DNS, указывая на support.example.com
Но example.com
загружается вместо support.example.com
Как мне решить эту проблему? Это правильный путь или есть другой подход?
Неважно, используете ли вы A
запись, указывающая на тот же IP-адрес или CNAME
запись, указывающая на другое имя хоста, которое в конечном итоге указывает на IP-адрес. Браузер всегда отправляет Host:
Заголовок HTTP, содержащий имя хоста в адресной строке.
Следовательно, ваш VirtualHost
для support.example.com
требуется псевдоним для других имен хостов, например support.example.net
и support.example.org
.
<VirtualHost *:80>
ServerName support.example.com
ServerAlias support.example.net support.example.org
. . .
</VirtualHost>
В противном случае веб-сервер покажет виртуальный хост по умолчанию, который в этом случае кажется example.com
.
Также может быть хорошей идеей иметь универсальный виртуальный хост по умолчанию, чтобы каждое имя хоста, указывающее на этот IP-адрес, не отображало содержимое для example.com
. Ваша текущая конфигурация может повлиять на SEO, а также может иметь проблемы с безопасностью.
Запись DNS CNAME указывает только имя хоста на то же самое. сервер на которое указывает целевое имя хоста.
Он не настраивает автоматически веб-сервер для загрузки одних и тех же веб-сайтов для обоих имен хостов. Это требует дополнительной перенастройки программного обеспечения веб-сервера, то есть Apache, Nginx.
(Вы несколько обойдете эту проблему, назначив один веб-сайт VirtualHost по умолчанию который всегда будет отображаться, когда для доступа к веб-серверу используются неизвестные имена хостов, но это работает только для простого http, а не столько для https)