У нас проблема с конфигурацией сервера, и я надеюсь, что смогу помочь с этим, поскольку это сводит нас с ума!
По сути, у нас есть приложение, настроенное на domain.com, и поддомены с подстановочными знаками, настроенные в том же домене для пользователей. Мы хотим реализовать пользовательские домены для пользователей так же, как это делает, например, tumblr, чтобы пользователь создавал CNAME для своего поддомена, например:
userdomain.com -> CNAME -> user.ourapp.com
Однако после настройки этого для одного пользователя его домен просто перенаправляется на страницу сервера по умолчанию на нашей стороне. После того, как вы связались с plesk, ответ был таким:
Согласно логике внутренних веб-серверов, хостинг на основе имени работает с использованием имени хоста в заголовке HTTP. Использование только записи CNAME в DNS не сработает, поскольку DNS возвращает нам только IP-адрес нового сервера, и браузер перейдет на этот IP-адрес, но имя старого сервера по-прежнему остается в заголовках HTTP.
И веб-сервер после получения такого запроса будет работать как надо, он безуспешно пытается найти userdomain.com и открыть виртуальный хост по умолчанию, в нашем случае страницу Media Temple Server.
Ладно, круто. Итак, мы пошли немного отредактировать нашу конфигурацию. Мы запускаем Plesk 10.4, и под поддоменом с подстановочными знаками у нас есть файл httpd.include для vhosts.
Там у нас есть это:
<VirtualHost 64.207.159.248:80>
ServerName "_.ourapp.com:80"
ServerAlias "*.ourapp.com"
UseCanonicalName Off
...
Теперь мы попытались удалить ServerName и просто сохранить псевдоним и использовать /etc/init.d/httpd reload для перезагрузки конфигурации, но мы все еще получаем страницу сервера по умолчанию.
Мы в тупике.
Кто-нибудь раньше сталкивался с этой проблемой, и есть ли решение?
Заранее спасибо, Уоррен
Браузер по-прежнему будет отправлять Host: userdomain.com
заголовок, запись CNAME не вызовет перенаправления. Поэтому вам понадобится ServerAlias userdomain.com
в вашей конфигурации. Именно в вашем приложении вам нужно будет связать userdomain.com
пользователю.