多域名匹配
- 精准匹配
多个域名都写上,精准匹配
server {
listen 80;
server_name laker.com laker1.com test.laker.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/laker.com;
}
- 通配符在前 以通配符 * 开始
server {
listen 80;
server_name *.laker.com;
}
- 通配符在后 以通配符*结尾
server {
listen 80;
server_name laker.*;
}
- 正则匹配
以正则表达式来匹配
server {
listen 80;
server_name ~^(?.+)\.laker\.com$;
}
不能只使用一个*来匹配所有域名
server_name优先级如下:
1、精准匹配
2、通配符在前
3、通配符在后的
4、正则匹配
前面的匹配到就不会进行后面的规则,如果都不匹配则
1、优先选择listen配置项后有default或default_server的
2、找到匹配listen端口的第一个server块
server {
listen 80 default;
listen 443 ssl http2 default_server;
server_name laker.com;
}
一个域名配置多个端口
域名请求如下:
- http://laker.com
- http://laker.com:8080
有以下两种方式
- 配置多个server(建议)
server {
listen 80;
server_name laker.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/laker.com;
}
server {
listen 8080;
server_name laker.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/laker.com-8080;
}
- 一个server里写多个listen port
server {
listen 80;
listen 8080;
server_name laker.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/laker.com;
}