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

Сопоставление пользовательского домена с веб-приложением

Мы создаем базовое приложение SAAS, в котором каждая компания получает свой поддомен. Но если компания хочет настроить другой домен с нашим приложением, они могут это сделать.

например Я компания, зарегистрированная в приложении www.saas.com, у меня есть поддомен company.saas.com, теперь я хочу привязать свой домен company.com к company.saas.com, как мы можем этого добиться?

Я знаю, что это можно сделать с помощью Cname, но есть ли способ динамического обновления Cname?

Вы можете использовать RewriteRule для перенаправления запросов на конкретный DocumentRoot, и вы можете добавить динамическое правило в файл .htaccess.

Было бы лучше добавить виртуальные хосты в файлы конфигурации Apache, но тогда вам придется перезапускать Apache после каждого изменения.

.htaccess:

RewriteEngine On

RewriteCond %{HTTP_HOST} (clientone.saas.example.com)
RewriteRule ^(.*)$ /clientonefolder/$1 [R=301,L]

RewriteCond %{HTTP_HOST} (clienttwo.saas.example.com)
RewriteRule ^(.*)$ /clienttwofolder/$1 [R=301,L]

Это полностью зависит от того, как ваше приложение выполняет определение имени хоста. Например. если он работает по HTTPS, вам необходимо добавить виртуальный хост на свой веб-сервер. Мы можем сделать вывод, основываясь на том, что вы сейчас используете subdomain.saas.example.com и программное обеспечение способно обнаружить это, что это должно быть возможно. Вы просто будете использовать тот же метод для идентификации имени хоста, что и в текущем решении.

На уровне DNS вам следует использовать A запись, указывающая на тот же IP-адрес. Это потому, что использование CNAME запись вызывает только другой поиск DNS для company.saas.example.com IN A запись, и это не вызывает никаких изменений в обнаруженном имени хоста, поэтому вы не получите никакой выгоды от его использования; т.е. это не ярлык для предотвращения настройки этого метода определения имени хоста.

Если вы хотите использовать CNAME (например, если IP-адрес для *.saas.example.com может измениться без уведомления клиента), вам следует посоветовать использовать поддомен, например saas.example.net вместо того example.net. Это потому, что при использовании CNAME записи, вы не можете использовать какие-либо другие записи на том же имени хоста. С самим доменным именем это означает, что вы теряете возможность добавлять MX, TXT, NS и др. записи. Это предотвратит использование одного и того же домена для электронной почты и т. Д.