完整匹配
ServerName可以配置多个域名
server_name a.orgcomcn.top b.orgcomcn.top;
通配符匹配
server_name *.orgcomcn.top;
正则匹配
server_name ~^[0-9]+\.orgcomcn.top$;
正则匹配格式,必须以~开头,比如:server_name ~^www\d+\.example\.net$;。如果开头没有~,
则nginx认为是精确匹配。在逻辑上,需要添加^和$锚定符号。注意,正则匹配格式中.
为正则元字符,如果需要匹配.,则需要反斜线转义。如果正则匹配中含有{和}则需要双引号引用起来,
避免nginx报错,如果没有加双引号,则nginx会报如下错误:
directive "server_name" is not terminated by ";" in ...。
特殊匹配格式
server_name ""; 匹配Host请求头不存在的情况。
匹配顺序
1. 精确的名字
2. 以*号开头的最长通配符名称,例如 *.example.org
3. 以*号结尾的最长通配符名称,例如 mail.*
4. 第一个匹配的正则表达式(在配置文件中出现的顺序