我有个问题。
如果我创建一个指向Apache2服务器的A记录,并创建一些带有子域的虚拟主机。然后可以在不进行其他记录的情况下访问子域吗?
您似乎在混淆DNS A记录和Apache VirtualHosts。它们在完全不同的级别上运行,并且实际上不是可互换的。
对于Apache,当您指定一个<VirtualHost>
节时,您告诉apache当它收到ServerName
对该节中任何s的请求时该怎么做。但是,除非这些名称指向DNS中的服务器,除非并且除非这些名称指向您的服务器,否则没有其他人会向您的服务器询问它们,因此您需要同时使用这两个名称。
(是的,我知道我在这里跳过了通配符,对于那些在DNS和Web托管领域很新的人,我想保持直截了当)
让我们举个例子:假设,您有一个指向www.foo.com
您服务器的A记录,位于1.2.3.4
。并且您有以下VirtualHost
节:
<VirtualHost *:80>
ServerName www.foo.com
DocumentRoot /var/www/html
-- etcetera ---
</VirtualHost>
这告诉您的apache服务器,应根据该节中的指示处理端口80上要求www.foo.com的所有联系人。
现在,假设您添加了一个子域:
<VirtualHost *:80>
ServerName sub.foo.com
ServerAlias sub2.foo.com
DocumentRoot /var/www/subdomain/html
--- etc ---
</VirtualHost>
现在,您已经告诉apache服务器如何响应对sub.foo.com
和的请求sub2.foo.com
。然而,直到除非你添加指向A记录sub.foo.com
到1.2.3.4
没有人会知道要问你的服务器是域。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句