我已经运行 Nginx/ISPConfig 设置大约 6-7 个月了。从来没有遇到过问题,一切都很顺利。但我刚刚注意到,如果浏览“blab.example.com”,页面会打开另一个域上的我的一个 wordpress 博客。
无论我对子域名使用什么名称,我随机输入的任何内容“b53ks.example.com”仍然会转到该博客页面。
我在同一台服务器上有 3 或 4 个不同的域名和网站。但我认为我在某处配置有误,这可能是导致这种情况的原因。
假设我有这些域名:example-1.com、example-2.com、another-example.com
如果我转到anything.example-1.com
或serverfault.example-2.com
,或google.another-example.com
返回的页面是我的博客blog.example-1.com
注意:我没有在 ISPConfig 中设置任何子域名。相反,我使用“添加新网站”来创建子域名。
答案1
实际上有很多种可能性:
- 您可以在其他地址上发布您的博客,并且您提到的所有网站都指向该地址。
你可以配置你的博客(你可以查看详细信息听描述):
监听 192.168.8.1:80默认服务器;
这样,您最终将进入一个可以为任何未知域提供博客服务的服务器。
处理这个问题有多种选择。我个人更喜欢保留简单的 sinkhole 默认虚拟主机,用于 nginx,返回 /var/empty 的内容:
server {
listen *:80 default_server;
root /var/empty;
}
您还可以阅读服务器名称nginx 选项如何处理域名通配符。如果您恰好喜欢将子域名链接到您的原始网站,您最好这样做:
server {
server_name .example.com;
return 301 http://example.com;
}
答案2
确保在 ispconfig 中Auto-Subdomain
未设置该选项*.
。否则可能会导致类似的情况。
答案3
今天,我在装有 nginx 服务器的 Debian 7 上使用 Ispconfig 3 时遇到了完全相同的问题,并且找到了解决方案。
我已经验证,当您添加一个网站并为其选择指定的 IP 地址时,如果同时其他网站使用带有符号 * 的“所有地址”选项,则会出现此错误。
因此我为所有网站选择了 * 作为 IP 地址,并且一切正常。