server {
listen 80;
server_name example.org *.example.org www.example.*;
...
}
通配符名称说明:
*.example.org:匹配所有以 .example.org 结尾的域名www.example.*:匹配所有以 www.example. 开头的域名通配符名称原理:
通配符名称用于匹配多个域名,通配符 * 可以匹配任意字符,但不能匹配 .。
* 可以匹配多个名称*.example.org 匹配 www.example.org、www.sub.example.orgwww.example.* 匹配 www.example.org、www.example.net* 只能出现在名称的开头或结尾通配符规则原理:
通配符 * 可以匹配任意字符,但不能匹配 .。通配符 * 只能出现在名称的开头或结尾,不能出现在名称的中间。
Nginx 按照以下顺序匹配通配符名称:
* 开头):以 * 开头的通配符名称,如 *.example.org* 结尾):以 * 结尾的通配符名称,如 www.example.*通配符匹配顺序原理:
Nginx 按照通配符匹配(以 * 开头)、通配符匹配(以 * 结尾)的顺序匹配通配符名称。
| 通配符名称 | 匹配的域名 | 不匹配的域名 |
|---|---|---|
*.example.org | www.example.org、www.sub.example.org | example.org、www.example.com |
www.example.* | www.example.org、www.example.net | example.org、sub.www.example.org |
*.example.* | www.example.org、www.example.net | example.org、www.example.com |
server_name *.example.org;
server_name www.example.*;
示例说明:
*.example.org:匹配所有以 .example.org 结尾的域名www.example.*:匹配所有以 www.example. 开头的域名示例原理:
通配符名称用于匹配多个域名,通配符 * 可以匹配任意字符,但不能匹配 .。
通配符名称在哈希表中查找,查找速度快。
通配符名称优化原理: 通配符名称在哈希表中查找,查找速度快,可以快速匹配通配符名称。
* 不能匹配 .* 只能出现在名称的开头或结尾