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


Posted in Servers onAugust 14, 2022

前言

作为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的具体使用

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

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

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

 通配符模式配置

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

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

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

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

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

正则表达式配置

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的具体使用

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内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
Nginx反向代理多个服务器的实现方法
Mar 31 Servers
Nginx域名转发使用场景代码实例
Mar 31 Servers
Nginx解决403 forbidden的完整步骤
Apr 01 Servers
学习nginx基础知识
Sep 04 Servers
图文详解nginx日志切割的实现
Jan 18 Servers
nginx负载功能+nfs服务器功能解析
Feb 28 Servers
Z-Order加速Hudi大规模数据集方案分析
Mar 31 Servers
Window server 2012 R2 AD域的组策略相关设置
Apr 28 Servers
详解ZABBIX监控ESXI主机的问题
Jun 21 Servers
腾讯云服务器部署前后分离项目之前端部署
Jun 28 Servers
nginx之内存池的实现
Jun 28 Servers
Windows Server 2016服务器用户管理及远程授权图文教程
Aug 14 Servers
ssh服务器拒绝了密码 请再试一次已解决(亲测有效)
Windows server 2016服务器基本设置
Windows Server 2016服务器用户管理及远程授权图文教程
Nginx 502 bad gateway错误解决的九种方案及原因
Aug 14 #Servers
Tomcat安装使用及部署Web项目的3种方法汇总
Aug 14 #Servers
SpringBoot前端后端分离之Nginx服务器下载安装过程
Docker容器harbor私有仓库部署和管理
Aug 05 #Servers
You might like
我用php+mysql写的留言本
2006/10/09 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
Prototype Function对象 学习
2009/07/12 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
2015/03/04 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
JavaScript预解析及相关技巧分析
2016/04/21 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
2016/06/09 Javascript
很酷的星级评分系统原生JS实现
2016/08/25 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
canvas绘制七巧板
2017/02/03 Javascript
js仿新浪微博消息发布功能
2017/02/17 Javascript
vue使用vue-cli快速创建工程
2017/07/28 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
vue脚手架及vue-router基本使用
2018/04/09 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
jQuery基于随机数解决中午吃什么去哪吃问题示例
2018/12/29 jQuery
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
基于 vue-skeleton-webpack-plugin 的骨架屏实战
2019/08/05 Javascript
js实现简单进度条效果
2020/03/25 Javascript
es6数组的flat(),flatMap()函数用法实例分析
2020/04/18 Javascript
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
python快速排序代码实例
2013/11/21 Python
Python正则简单实例分析
2017/03/21 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
对Python3 pyc 文件的使用详解
2019/02/16 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
YSL圣罗兰美妆俄罗斯官网:Yves Saint Lauret RU
2020/09/23 全球购物
医学毕业生自我鉴定
2013/10/30 职场文书
授权委托书怎么写
2014/04/03 职场文书
2015年事业单位工作总结
2015/04/27 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
毕业班工作总结
2015/08/10 职场文书
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL