【问题标题】:main domain and sub-domain are promiscuous主域和子域混杂
【发布时间】:2012-04-23 18:25:21
【问题描述】:

我的主域名为 www.mysite.com 的网站以前运行良好。 (我使用 mysite 在这里隐藏我的实际域名)。它是 linode 中的 LAMP 服务器,使用指南 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。但是,它在我的 PC 上运行良好。

为什么 www.mysite.com 的用户会去 sub.mysite.com?谁能帮帮我?

一些信息:

我在 24 小时前在 A 记录中添加了 sub: 我的 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 mysite@gmail.com
     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 mysite@gmail.com
     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 mysite@gmail.com
     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>

谢谢!

【问题讨论】:

    标签: apache subdomain lamp linode


    【解决方案1】:

    解决了。 一些用户直接使用 IP 访问我的主域站点。 在 apache2ctl -S 结果中,我们可以看到

    default server sub.mysite.com
    

    根据apache的解释,配置文件中的第一个具有最高优先级,可以看作是默认或主服务器。 在我的服务器 /etc/apache2/sites-enabled 中,将 mysite.com 重命名为 000mysite.com 将使其在 sub.mysite.com 之前加载(在我的站点中,“sub”是“f*”)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-25
      • 2013-07-22
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 2014-11-08
      • 2020-12-02
      • 1970-01-01
      相关资源
      最近更新 更多