我发现(通过查看mod_pagespeedcaching条目),我从来没有听说过一个完全随机的域名解决我的网站。
如果我访问这个域,我的网站加载。 该域的DNS指向我的服务器的IP。
现在在我的虚拟主机configuration我有*:80,我猜是我要去哪里错了。
我立即将其更改为example.com:80,其中example.com是我的域名。 假设这意味着服务器只响应和完成对我的域名的请求,而不是端口80上的任何请求。
我原来的虚拟主机configuration;
<VirtualHost *:80> DocumentRoot "/var/www/example.com" <Directory "/var/www/example.com"> Order allow,deny Allow from all Allowoverride all </Directory> </VirtualHost>
我新的尝试configuration;
Listen 80 ServerName example.com <VirtualHost example.com:80> DocumentRoot "/var/www/example.com" <Directory "/var/www/example.com"> Order allow,deny Allow from all Allowoverride all </Directory> </VirtualHost>
当我尝试重新启动Apache与新的configuration我得到了以下错误:
* Restarting web server apache2 [Fri Mar 28 08:55:47.821904 2014] [core:error] [pid 5555] (EAI 2)Name or service not known: AH00549: Failed to resolve server name for 152.155.254.241 (check DNS) -- or specify an explicit ServerName (98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
注意:上述错误中的IP开始152已经被稍微编辑了,但原来不是我服务器的IP地址。
任何人都可以就这个问题提供build议? 是域名(实际上有一对夫妇)是无辜的解决我的网站只是专用服务器,其DNS仍然指向它的前用户? 如何解决Apache虚拟主机configuration问题,并欢迎任何其他的build议。
谢谢。
将这些其他域指向您的主机可能没有什么坏处,当然,这会增加服务器的负载。 如果你想阻止他们,为他们设置新的虚拟主机:
NameVirtualHost *:80 <VirtualHost *:80> ServerName example.com # example.com configuration </VirtualHost> <VirtualHost *:80> ServerName baddomain.com Deny from all </VirtualHost>
您可以使用Redirect permanent /error.html
向他们显示自定义错误消息,而不是Deny from all
。
您可以为要阻止的每个域重复第二个VirtualHost,或者如果其中有很多,则首先将其设置为默认的VirtualHost,然后为您的域设置例外:
NameVirtualHost *:80 <VirtualHost *:80> # default VirtualHost Deny from all </VirtualHost> <VirtualHost *:80> ServerName example.com # example.com config </VirtualHost>
至于你的错误信息,似乎Apache启动时无法parsing主机名example.com,或者找不到你的ServerName
指令。 不知道为什么。 第二个错误说明端口80已经在您的主机上使用。 你完成closures所有以前的Apache实例吗?
Apache作为您定义的第一个域的默认types。
如果你想提供你想要的内容myowndomain.com和所有其他域的一些行为(也许redirect到您首选域相应的页面),首先定义“catchall”域,适当处理stream量(我build议redirect到您的真正的域名),然后用后续的VirtualHosts定义你的真实域名。
关于“我的网站的其他名称来自何处”,任何人都可以在他们控制的域名之下以任何名义放置他们喜欢的任何Alogging。 您可以通过使用whois
来查找谁已经注册了包含有问题的DNS名称的二级域名。
你最好在这里打赌,如果你真的想避免随机域被指向你的网站,可能是安德鲁舒尔曼已经回答,BeowulfNode42已经评论:
服务一个默认的虚拟主机。 你在这里有几个select,但要清楚,我不build议服务一个普通的错误页面,因为它可能会使故障排除后痛苦。
所以,保持原来的虚拟主机configuration ,但为实际的网站创build一个新的虚拟主机,交换周围的目录,并继续前进。
鉴于你最近接pipe服务器的说法,我会考虑确保(除非域名显然不是你的),这不是一些被遗忘的剩余的需要被自动更新,或者它不是部分项目尚未完成或被放弃。
你应该总是先把默认的VirtualHost放在@Andrew Schulman的第二个解决scheme中。
这样,您可以使用configuration中的CustomLog和ErrorLog将所有不适合您网站的请求保留在不同的日志文件中 – 如果您使用AWStats或其他程序创build统计信息,则不需要在日志中logging该请求。
还有很多(大多数?)攻击会在你的IP而不是在你的主机名。 再次,这将保持您的真实站点日志干净,并拒绝所有拒绝他们直。