nginx下的泛域名配置

手册/FAQ (437) 2015-11-26 11:54:17

      用户可以自定义二级域名,所以要配置一个泛域名来解析用户的自定义域名。 
首先来说说nginx下的泛域名配置,nginx泛域名必须安装http_sub_module模块,安装的时候带上参数–with-http_sub_module 
通配符*配置

listen  80;

server_name  *.idcspy.org;

这样就能解析idcspy.org下所有二级域名了。 
但是这么配置在多虚拟主机会有问题 
比如现在有

server{

  listen  80;

  server_name  www.idcspy.org;

  location /{

 

  }

}

 

server{

  listen  80;

  server_name  *.idcspy.org;

  location /{

 

  }

}

 

server{

  listen  80;

  server_name  top.idcspy.org;

  location /{

 

  }

}

这个时候www,top和*哪个优先级更高呢? 
貌似nginx没有明确通配符虚拟主机的优先级没有普通虚拟主机低的说法。 
所以有时间访问top下面的页面解析到*.idcspy.org,就要出现404了。

还有调整了一下设置,把通配符虚拟主机改为

server{

  listen  80;

  server_name a.idcspy.org *.idcspy.org;

  location /{

 

  }

}

这时候,解析就问题了.

THE END