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

Справка по CNAME - DNS с подстановочными знаками для SaaS

Я пытаюсь понять, как разрешить моим пользователям использовать CNAME для своего уникального домена с подстановочными знаками. (user1.wlapi.com) и т. д.

Читаю здесь: https://stackoverflow.com/questions/5101195/custom-subdomain-with-cname-problem

Использование подстановочного DNS для CNAME может быть не лучшим решением, поэтому мне понадобится другой способ идентификации пользователя, это нормально. Я могу сделать это с помощью некоторой работы с базой данных.

Однако я не могу заставить CNAME работать с user1.wlapi.com ИЛИ wlapi.com

Он просто ничего не делает ... просто загружает пустой экран.

Вопрос:

Что мне нужно сделать, чтобы CNAMES работала на моем сервере? (Я использую MediaTemple, но могу переключиться, если для этого есть более простой хост)

Я читал кое-что о файлах .conf с VitrualHost, но для меня это не имеет никакого смысла ...

Обновить

У меня все заработало! Я перешел на выделенный сервер с уникальным IP-адресом, и, похоже, он работает.

Подстановочный DNS не работает, но я могу просто использовать HTTP-хост для поиска пользователя. :)

Есть 2 основных пути. Для примера скажем ваш название компании example.org :

а) Для поддоменов учетной записи в вашем домене: Все ваши пользователи получают полное доменное имя под вашим доменом, т. Е. <userid>.example.org , <nextuser>.example.org. Я бы сделал это с универсальным A-Record:

$ORIGIN example.org.
@               IN A            1.2.3.4
www             IN CNAME        example.org.
*               IN A            5.6.7.8 # This one

б) "тщеславные домены", идущие на выделенный шлюз: Предположим, вы хотите предложить своим пользователям en возможность настроить полное доменное имя в их собственном домене, например shop.userdomain.com. В этом случае я бы выделил для этого сервер шлюза и позволил бы пользователям создавать записи CNAME для этого шлюза. Что-то вроде:

$ORIGIN example.org.
@               IN A            1.2.3.4
www             IN CNAME        example.org.
gateway         IN A            5.6.7.8 # This one

.. и ваши конечные пользователи должны создать CNAME, указывающую на gateway.example.org в этом примере.

Ноты: В обоих случаях выше я использую A-Records, но вы также можете использовать CNAME, если это удобнее. И ваш сервер 5.6.7.8 должен смотреть на входящие заголовки HTTP и действовать соответствующим образом, то есть ваше программирование вашего веб-приложения должно обрабатывать учетные записи пользователей прямо для каждого запроса.

Как заявляли другие это двухэтапный процесс, включая ваш контентный DNS-сервер и ваш контентный HTTP-сервер.

В IIS в Windows вы должны использовать заголовки хоста. Я считаю, что в Linux это называется виртуальным хостом, как вы сказали. Вот ссылка, объясняющая это:

http://httpd.apache.org/docs/2.2/vhosts/