server_name
指令server_name用于配置主机名称,这里的“主机”,就是指此server块对外提供的虚拟主机。设置了主机的名称并配置好DNS,用户就可以使用这个名称向此虚拟主机发送请求了。
指令server_name的语法结构为:
由于server_name指令支持使用通配符和正则表达式两种配置名称的方式,因此在包含有多个虚拟主机的配置文件中,可能会出现一个名称被多个虚拟主机的server_name匹配成功。那么,来自这个名称的请求到底要交给哪个虚拟主机处理呢?Nginx服务器做出如下规定:
对于匹配方式不同的,按照以下的优先级选择虚拟主机,排在前面的优先处理请求。
准确匹配server_name
通配符在开始时匹配server_name成功
通配符在结尾时匹配server_name成功
正则表达式匹配server_name成功
在以上四种匹配方式中,如果server_name被处于同一优先级的匹配方式多次匹配成功,则首次匹配成功的虚拟主机处理请求。
Last updated
Was this helpful?