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

CNAME для поддомена с подстановочными знаками получает только страницу сервера по умолчанию

У нас проблема с конфигурацией сервера, и я надеюсь, что смогу помочь с этим, поскольку это сводит нас с ума!

По сути, у нас есть приложение, настроенное на 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 пользователю.