Автоматически размещать пользовательские домены в Rails / Apache - PullRequest
4 голосов
/ 06 июня 2010

В настоящее время я разрабатываю пользовательское веб-приложение, которое предоставляет каждому новому пользователю свой собственный поддомен на сайте, что нормально (с использованием subdomain_fu), но есть ли способ позволить пользователю сопоставить свой собственный домен с этим поддоменом?

Я знаю, как сделать это вручную через SSH-вход на сервер и вручную отредактировать файл Apache Vhosts, но есть ли способ сделать это автоматически, чтобы пользователь просто вводил свой домен в поле на сайте ( очевидно, им придется поменять свой собственный DNS в другом месте)?

Я использую Ruby 1.8 и Rails 2.3.3 поверх Apache.

по существу сдача в аренду;

http://user.application.com/article-1

быть доступным с

http://userdomain.com/article-1

Спасибо за любую помощь!

Ответы [ 2 ]

2 голосов
/ 14 июня 2010

Ваши пользователи должны иметь возможность настроить запись CNAME для своего домена, указывающую на ваш домен, например,

userdomain.com.  CNAME  user.application.com.

и затем сообщите вашему приложению, что они хотят использовать userdomain.com в качестве имени хоста. Я не думаю, что вам придется изменять настройки vhost, потому что ваш сервер увидит запрос на user.application.com, но проверьте это, настроив собственный CNAME, чтобы быть уверенным.

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

0 голосов
/ 11 июня 2010

Я предполагаю, что это всего лишь одно приложение, которое вы хотите, чтобы пользователи отображали разные доменные имена, верно? Вам вообще не нужно использовать виртуальный хостинг, поскольку все запросы будут отправляться в одно и то же приложение Rails, независимо от имени домена. Если вы используете виртуальный хостинг, то вашим приложением Rails должен быть виртуальный хост по умолчанию (тот, который обрабатывает http://1.2.3.4, если user.application.com разрешен до 1.2.3.4).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...