您的位置:首页 > 运维架构 > Nginx

Nginx多虚拟主机下泛域名配置

2014-03-04 16:50 323 查看
http://www.tuicool.com/articles/F3Azuq

近上一个应用,让用户可以自定义二级域名,所以要配置一个泛域名来解析用户的自定义域名。

首先来说说nginx下的泛域名配置,nginx泛域名必须安装http_sub_module模块,安装的时候带上参数–with-http_sub_module

通配符*配置
listen  80;
server_name  *.chj360.com;


这样就能解析chj360.com下所有二级域名了。

但是这么配置在多虚拟主机会有问题

比如现在有
server{
  listen  80;
  server_name  www.chj360.com;
  location /{
  
  }
}

server{
  listen  80;
  server_name  *.chj360.com;
  location /{
  
  }
}

server{
  listen  80;
  server_name  social.chj360.com;
  location /{
  
  }
}


这个时候www,social和*哪个优先级更高呢?

貌似nginx没有明确通配符虚拟主机的优先级没有普通虚拟主机低的说法。

所以有时间访问social下面的页面解析到*.chj360.com,就要出现404了。

还有调整了一下设置,把通配符虚拟主机改为
server{
  listen  80;
  server_name a.chj360.com *.chj360.com;
  location /{
  
  }
}


这时候,解析就问题了,在我的测试中,在没有出现普通域名接下到泛域名下去。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: