Я пытаюсь понять, как разрешить моим пользователям использовать 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 это называется виртуальным хостом, как вы сказали. Вот ссылка, объясняющая это: