Nginx 中 Server 模块 主要针对虚拟主机配置,Nginx接收到请求后,会优先匹配server模块 listen端口监听和server_name 域名配置
1、精准匹配server_name
server { listen 80; server_name domain.com www.domain.com; ... }
访问时,必须是全部匹配,比如 domain.com,www.domain.com
2、以 * 通配符开始的字符串
server { listen 80; server_name *.domain.com; ... }
访问时,可以模糊匹配 www.domain.com,a.domain.com
3、以 * 通配符结束的字符串
server { listen 80; server_name www.*; ... }
4、匹配正则表达式
server { listen 80; server_name ~^(?.+)\.domain\.com$; ... }
Nginx 会以次序匹配,成功后,就停止后面的匹配项,如果都不满足,优先选择带有 default 或者 default_server或者匹配端口号