основной домен и поддомен неразборчивы

Мой сайт с основным доменным именем www.mysite.com раньше работал хорошо. (Я использую mysite, чтобы скрыть здесь свое настоящее доменное имя). Это сервер LAMP в linode, настроенный с помощью руководства http://library.linode.com/lamp-guides/ubuntu-10.04-lucid . Я хочу добавить sub.mysite.com для другого виртуального хоста на моем хосте. Я подписан на http://davidpodley.com/2010/02/11/setting-up-subdomains-in-linode-and-apache/ и после того, как я это сделаю

a2ensite sub.mysite.com
/etc/init.d/apache2 restart

некоторые пользователи www.mysite.com будут обращаться к sub.mysite.com, а не к www.mysite.com. Я могу найти их в /srv/www/sub.mysite.com/logs/access.log, и они сообщают мне о проблеме. Они должны иметь доступ только к www.mysite.com. Тем не менее, он хорошо работает на моем ПК.

Почему пользователи www.mysite.com переходят на sub.mysite.com? Может кто-нибудь помочь мне?

Некоторая информация:

Я добавил подзапись в записи A 24 часа назад: Мои записи A:

Hostname IP Address TTL Options
         96.126.98.96    Default    Edit | Remove
sub      96.126.98.96    Default    Edit | Remove
mail     96.126.98.96    Default    Edit | Remove
www      96.126.98.96    Default    Edit | Remove

имя хоста моего сервера — mysite, а /etc/hosts моего сервера —

127.0.0.1 localhost.localdomain localhost
96.126.98.96 mysite.mysite.com mysite

apache2ctl -S:

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443                  is a NameVirtualHost
         default server mysite.com (/etc/apache2/sites-enabled/mysite.com:10)
         port 443 namevhost mysite.com (/etc/apache2/sites-enabled/mysite.com:10)
*:80                   is a NameVirtualHost
         default server sub.mysite.com (/etc/apache2/sites-enabled/sub.mysite.com:1)
         port 80 namevhost sub.mysite.com (/etc/apache2/sites-enabled/sub.mysite.com:1)
         port 80 namevhost mysite.com (/etc/apache2/sites-enabled/mysite.com:1)

/etc/apache2/sites-enabled/mysite.com:

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName mysite.com
     ServerAlias www.mysite.com
     DocumentRoot /srv/www/mysite.com/public_html/
     ErrorLog /srv/www/mysite.com/logs/error.log
     CustomLog /srv/www/mysite.com/logs/access.log combined
</VirtualHost>

<VirtualHost *:443>
     SSLEngine On
     SSLCertificateFile /etc/apache2/ssl/apache.pem
     SSLCertificateKeyFile /etc/apache2/ssl/apache.key

     ServerAdmin [email protected]
     ServerName mysite.com
     ServerAlias www.mysite.com
     DocumentRoot /srv/www/mysite.com/public_html/
     ErrorLog /srv/www/mysite.com/logs/error.log
     CustomLog /srv/www/mysite.com/logs/access.log combined
</VirtualHost>

/etc/apache2/sites-enabled/sub.mysite.com:

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName sub.mysite.com
     ServerAlias www.sub.mysite.com
     DocumentRoot /srv/www/sub.mysite.com/public_html/
 #    DocumentRoot /srv/www/mysite.com/public_html/sub
     ErrorLog /srv/www/sub.mysite.com/logs/error.log
     CustomLog /srv/www/sub.mysite.com/logs/access.log combined
</VirtualHost>

Спасибо!


person wykthreed    schedule 23.04.2012    source источник


Ответы (1)


Это решено. Некоторые пользователи получают доступ к моему основному доменному сайту напрямую с IP. В результате apache2ctl -S мы видим

default server sub.mysite.com

Согласно объяснению Apache, первый в файле конфигурации имеет наивысший приоритет и может рассматриваться как сервер по умолчанию или основной. На моем сервере /etc/apache2/sites-enabled переименуйте mysite.com в 000mysite.com, чтобы он загружался перед sub.mysite.com (на моем сайте «sub» — это «f*»)

person wykthreed    schedule 24.04.2012