Nginx中的server_name指令特性讲解

来源:互联网 发布:多线程添加数据 编辑:程序博客网 时间:2024/05/20 07:33

Nginx中的server_name指令主要用于配置基于名称的虚拟主机,server_name指令在接到请求后的匹配顺序分别为:

1、准确的server_name匹配,例如:

server {     listen       80;     server_name  domain.com  www.domain.com;     ...}

2、以*通配符开始的字符串:

server {     listen       80;     server_name  *.domain.com;     ...}

3、以*通配符结束的字符串:

server {     listen       80;     server_name  www.*;     ...}

4、匹配正则表达式:

server {     listen       80;     server_name  ~^(?.+)\.domain\.com$;     ...}
nginx将按照1,2,3,4的顺序对server name进行匹配,只有有一项匹配以后就会停止搜索,所以我们在使用这个指令的时候一定要分清楚它的匹配顺序(类似于location指令)。
server_name指令一项很实用的功能便是可以在使用正则表达式的捕获功能,这样可以尽量精简配置文件,毕竟太长的配置文件日常维护也很不方便。下面是2个具体的应用:
1、在一个server块中配置多个站点
2、在一个server块中为一个站点配置多个二级域名
原创粉丝点击