nginx配置指令之server_name的具体使用

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享

免费资源网 – https://freexyz.cn/
目录前言server_name指令精确匹配配置 通配符模式配置正则表达式配置server_name与host匹配优先级如下:如果都不匹配

前言

作为nginx的http模块中的重要指令,对于使用nginx的同学来说,有必要做深入的了解;

server_name指令

用于设置虚拟主机服务名称,如:127.0.0.1 、 localhost 、域名[www.baidu.com | www.jd.com]

nginx配置指令之server_name的具体使用插图

关于 server_name 的配置方式有三种,分别是:

精确匹配通配符匹配正则表达式匹配

精确匹配配置

server { listen 80; server_name www.baidu.com www.localhost; }

如下:在windows本地的nginx.conf配置文件中配置了如下参数

nginx配置指令之server_name的具体使用插图1

需要注意的是,如果是在实际的生产服务器上面进行配置的话,域名一定是有效的,server_name可以配置多个,然后重启nginx服务,访问下试试,可以看到通过两种方式都可以访问到nginx;

nginx配置指令之server_name的具体使用插图2

nginx配置指令之server_name的具体使用插图3

 通配符模式配置

server_name 中支持通配符 “*”, 但需要注意的是通配符不能出现在域名的中间,只能出现在首段或尾段 server_name localhost www.zcy.*;

如本地的nginx按照上面的配置,重启nginx服务之后,通过浏览器进行访问,可以看到均可以访问到;

nginx配置指令之server_name的具体使用插图4

nginx配置指令之server_name的具体使用插图5

nginx配置指令之server_name的具体使用插图6

正则表达式配置

server_name 中可以使用正则表达式,并且使用 ~ 作为正则表达式字符串的开始标记 代码说明^匹配搜索字符串开始位置$匹配搜索字符串结束位置.匹配除换行符 n 之外的任何单个字符转义字符,将下一个字符标记为特殊字符[xyz]字符集,与任意一个指定字符匹配[a-z]字符范围,匹配指定范围内的任何字符w与以下任意字符匹配 A-Z a-z 0-9 和下划线 , 等效于 [A-Za-z0- 9_]d数字字符匹配,等效于 [0-9]{n}正好匹配 n 次{n,}至少匹配 n 次{n,m}匹配至少 n 次至多 m 次*零次或多次,等效于 {0,}+一次或多次,等效于 {1,}?零次或一次,等效于 {0,1}

实际配置案例

server_name ~^www.(w+).com$;

重启nginx服务,浏览器访问上面的地址,可以看到仍然能正常访问

nginx配置指令之server_name的具体使用插图7

server_name与host匹配优先级如下:

1、完全匹配

2、通配符在前的,如*.test.com

3、在后的,如www.test.*

4、正则匹配,如~^.www.test.com$

如果都不匹配

1、优先选择listen配置项后有default或default_server的

2、找到匹配listen端口的第一个server块

到此这篇关于nginx配置指令之server_name的具体使用的文章就介绍到这了,更多相关nginx server_name内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

免费资源网 – https://freexyz.cn/


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容