server_name
一般是基于名称和基于 IP进行配置.
1. 基于名称
对于 server_name
来说, 可以有1个, 也可以由多个名称并列, 使用空格隔开. 一般情况下, 每个名字就是一个域名, 例如 taobao.com
, alibaba.com
.
在 server_name
中可以使用通配符 *
. (但是通配符只能用在三段字符串的首或者尾. 或者是两段字符串的尾部)
例如:
. 为段
www.xx.oo 为三段
taobao.* 为两段
*.taobao.com 为三段
server_name *.taobao.com www.taobao.*
同时 server_name
中使用正则的话必须由 ~
波浪号开始.
server_name ~^www\d+\.myserver\.com$;
如果想使用原始的.
需要使用 \.
进行转义
-
\d
表示匹配任意数字, 等价于 [0-9] -
+
匹配前面的子表达式一次或多次(大于等于1次) -
^
表示匹配输入的开始 -
$
表示匹配输入的结束
www1.myserver.com 可以匹配到
www.myserver.com 则不可以匹配到
2. 基于 IP
基于IP, 既是将域名更换为IP. 如下所示
server{
listen 80;
server_name 192.168.1.100;
}
server{
listen 81;
server_name 192.168.1.101;
}
网友评论