慎用 Nginx 的 default_server

更新日期: 2017-06-08 阅读次数: 23598 分类: Nginx

在新买的阿里云服务器上把部分网站迁移了过来,一时脑热把一个域名设置成了 default_server,为了使用 IP 测试网站是否部署的有问题。

例如:

server {
    listen       80  default_server;
    server_name  www.sunzhongwei.com _;
    ...
}

问题很快就出现了,从百度统计上看到,有不少用户访问来自几个奇怪的域名。而流量来源是 Google。

也就是说,我的网站内容被 Google 通过不属于我的域名收录了。

通过 dig +trace 发现这几个域名都是把 IP 指向了我的新服务器。。。

这个问题很严重

  • 如果有一天这几个域名被指向了其他 IP,那么我会失去对应的流量
  • 不同域名指向同一个网站对 SEO 的效果不好

解决方法是

将 default_server 设置到了一级域名上,然后 301 跳转到 www 的二级域名上。这样,来自不明域名的访问,都会被 301 跳转到我的域名上,而且已经被收录的页面也会被搜索引擎纠正。

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式