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常用命令放入shell脚本详解
Mar 31 Servers
教你快速开启Apache SkyWalking的自监控
Apr 25 Servers
nginx+lua单机上万并发的实现
May 31 Servers
关于nginx 实现jira反向代理的问题
Sep 25 Servers
CKAD认证中部署k8s并配置Calico插件
Mar 31 Servers
Kubernetes部署实例并配置Deployment、网络映射、副本集
Apr 01 Servers
Linux、ubuntu系统下查看显卡型号、显卡信息详解
Apr 07 Servers
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
Apr 07 Servers
Consul在linux环境的集群部署
Apr 08 Servers
Linux下使用C语言代码搭建一个简单的HTTP服务器
Apr 13 Servers
nginx 添加http_stub_status_module模块
May 25 Servers
Win Server2016远程桌面如何允许多用户同时登录
Jun 10 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数组应用之比较两个时间的相减排序
2008/08/18 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
PHP 获取MySQL数据库里所有表的实现代码
2011/07/13 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
php获取字段名示例分享
2014/03/03 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
PHP回溯法解决0-1背包问题实例分析
2015/03/23 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
jQuery匹配文档链接并添加class的方法
2015/06/26 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
Vue组件间通信方法总结(父子组件、兄弟组件及祖先后代组件间)
2019/04/17 Javascript
WebPack工具运行原理及入门教程
2020/12/02 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
遍历python字典几种方法总结(推荐)
2016/09/11 Python
Python微信操控itchat的方法
2019/05/31 Python
使用Pyinstaller转换.py文件为.exe可执行程序过程详解
2019/08/06 Python
在DELPHI中调用存储过程和使用内嵌SQL哪种方式更好
2016/11/22 面试题
实习生自我鉴定范文
2013/12/05 职场文书
学校党的群众路线教育实践活动整改措施
2014/10/25 职场文书
外出听课学习心得体会
2016/01/15 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python
基于Redis结合SpringBoot的秒杀案例详解
2021/10/05 Redis
我的收音机情缘
2022/04/05 无线电
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏