nginx配置实践笔记正则表达式相关<四>

Nginx配置示例教程 最近对Nginx做了一些初步研究,Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发。主要根据工作中各类应用服务部署访问的需求,围绕HTTP服务、负载均衡、正反向代理、子路由、静态资源发布访问等,以及结合minio管理的图片文件资源预览,如何快速搭建web服务的一些研究和探索,也包括一些基本指令的解释和正则表达式等,主要编写了几个应用示例,其实Nginx应用范围非常广泛,功能都比较实用,任何一个功能都可以单独展开研究,比如关于性能优化的gzip功能,本文只是总结常见的应用 阅读详情

系列文章目录

三、 nginx配置实践笔记<三>
二、nginx配置实践笔记<二>



一、基本认识

1.1 匹配操作符

~ 区分大小写(大小写敏感)匹配成功

~* 不区分大小写匹配成功

!~ 区分大小写匹配失败

!~* 不区分大小写匹配失败

^ 以什么开头的匹配

$ 以什么结尾的匹配

* 代表任意字符

1.2 常用正则

. : 匹配除换行符以外的任意字符

? : 重复0次或1次

+ : 重复1次或更多次

* : 重复0次或更多次

\d :匹配数字

^ : 匹配字符串的开始

$ : 匹配字符串的介绍

{n} : 重复n次

{n,} : 重复n次或更多次

[c] : 匹配单个字符c

[a-z] : 匹配a-z小写字母的任意一个

二、常用案例

2.1 示例如下(针对浏览器)

# 针对浏览器   不区分大小写匹配并 禁止访问Chrome浏览器。
location / {
	if ($http_user_agent ~* chrome) {
		return 503;
	}
}

2.2 示例如下(针对文件和文件夹)

# 判断文件,文件夹
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
# 针对文件类型 设置某些类型文件的浏览器缓存时间 $代表结尾 
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
	expires 30d;
}
location ~ .*\.(js|css)$ {
	# 缓存1小时
	expires 1h;
}
# 针对文件夹
location /test/ {
	return 403;
}

# 匹配到所有uri
location / {

}

2.3 示例如下(全局变量)

# 请求中的参数,如www.abc.com/test/hello?a=1&b=2的$args就是a=1&b=2
$args 

# Nginx虚拟主机配置文件中的root参数对应的值
$document_root 

# 当前请求中不包含指令的URI,如www.abc.com/test/hello?a=1&b=2的document_uri就是/test/hello,
# 不包含后面的参数 $uri 和$document_uri相同
$document_uri 

# 主机头,也就是域名
$host 

# 客户端的详细信息,也就是浏览器的标识,用curl -A可以指定
$http_user_agent

# 客户端的cookie信息
$http_cookie 

# 如果Nginx服务器使用limit_rate配置了显示网络速率,则会显示,如果没有设置,则显示0
$limit_rate 

# 客户端的公网IP
$remote_addr 

# 客户端的端口
$remote_port 

# 请求资源的方式,GET/PUT/DELETE等
$request_method 

# 当前请求的资源文件的路径名称,相当于是$document_root/$document_uri的组合
$request_filename 

# 请求的链接,包括$document_uri和$args
$request_uri

# 请求的协议,如ftp、http、https
$scheme 

# 客户端请求资源使用的协议的版本,如HTTP/1.0,HTTP/1.1,HTTP/2.0等
$server_protocol 

# 服务器IP地址
$server_addr 

# 服务器的主机名
$server_name 

# 服务器的端口号
$server_port 

# 客户端请求时的referer,通俗讲就是该请求是通过哪个链接跳过来的
$http_referer 

常用:$http_referer
# 请求的链接,包括$document_uri和$args
$request_uri
# 客户端的详细信息,也就是浏览器的标识,用curl -A可以指定
$http_user_agent

具体案例

args:name=zhangsan&age=15

document_root:/home/wwwroot/default/wounion/dragonfly/public

document_uri:/test/hello

host:jiqing.wounion.com

http_user_agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36

http_cookie:PHPSESSID=3ire1fr9bl3qdpd787pv0qb7a5

limit_rate:0

remote_addr:127.0.0.1

remote_port:43180

request_method:GET

request_filename:/home/wwwroot/default/wounion/dragonfly/public/test/hello

request_uri:/test/hello?name=zhangsan&age=15

scheme:http

server_protocol:HTTP/1.1

server_addr:127.0.0.1

server_name:jiqing.wounion.com

server_port:80

uri:/test/hello

http_referer:

nginx配置实践总结实用(配置一次动态处理多个vue项目路由)——<五>

参考文章:https://blog.youkuaiyun.com/weixin_39841709/article/details/111719925

01 Nginx安装 nginx下部署项目,nginx conf配置文件修改,相关文件配置 阅读详情

相关推荐

Nginx架构及配置详解

概述 Nginx采用C进行编写,是俄罗斯程序员开发的一款轻量级的可构建Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器的软件, Nginx服务器是一个高性能的HTTP和反向代理web服务器,同时也可提供了IMAP/POP3/SMTP服务。nginx常用作跑静态和做负载反向代理,动态php交给apache处理,因后者比较稳定,jsp交给tomcat、resin或jboss。n......

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 7071

Nginx 条件判断及运算符

叙述 key value 语法: if (condition) { ... } 默认值: — 上下文: server,location condition 变量名;如果变量值为空或者是以“0”开始的字符串,则条件为假; 使用“=”和“!=”运算符比较变量和字符串; 使用“~”(大小写敏感)和“~*”(大小写不敏感)运算符匹配变量和正则表达式。正则表达式可以包含匹配组,匹配结果后续可以使用变量$1..$9引用。如果正则表达式中包含字符“}”或者“;”,整个表.

lizhengyu891231的博客 2847

nginx配置中的服务器名称

通常,在nginx的配置节中:server {...server_name(服务器名称) 指令定义确定哪个块用于给定请求。可以使用确切名称、通配符名称、ip地址或正则表达式来定义它们:server {...server {...server {...server {...mail.*

1527

NGINX if脚本指令逻辑运算支持

概述 NGINX的if指令只支持单个条件运算,比如 if ($a = 'test')或者if ($a != "test")等。利用闲暇时间扩充了if指令可,可以支持简单的&&和||逻辑运算。比如if ($a = 'test'||$b != 'testb') 或者if ($a = 'test'&& $b != 'testb')。 源码地址: https://github.com/pei-jikui/nginx-if 局限 目前只支持 if (a &...

weixin_42906485的博客 760

Dify工作流实践—根据word需求文档编写测试用例到Excel中

文章介绍了用dify工作流实现从word需求文档到测试用例写入excel的详细落地过程

weixin_42476668的博客 5334

从波形到代码:手把手调试GaN图腾柱PFC的过零点切换与软启动策略

本文详细解析了GaN图腾柱无桥Boost PFC电路在过零点切换与软启动策略中的调试方法。通过波形分析、代码实现和寄存器配置,提供了解决误开通、震荡波形等问题的实用方案,帮助工程师优化电源设计效率与可靠性。

weixin_30831529的博客 424

Nginx多条件IF逻辑运算(与、或操作)不支持问题解决方法

Nginx多条件IF逻辑运算(与、或操作)不支持问题解决方法

我是海贼王 3681

UE4 Instanced Mesh 半透明渲染顺序不对解决

以绿色方块为Instanced Mesh为例。 正确的半透应该是这样的: 这是一般蓝图Actor方块,其半透是正常的。 然而Instanced Mesh因为过多,UE4不给你缓存正确的渲染顺序。所以,在不改代码的情况下,想解决Instanced Mesh半透问题,是不可能的。不正确的半透如下: 注意到错误发生在Instanced Mesh的方块与方块之间。 但我就是要解决,...

qq_41524721的博客 5569

【Nginx 】nginx的正则表达式

location,而不会匹配这个,当然可以写两个location,location = /和location /,这样/index.html将匹配到后者。# $1为'/foo',而不是'式的匹配的结果优先使用),如:location ^~ /images/,你希望对/images/这个目录进行一些特别的操作,如增加。

走在搬砖的路上! 2473

DEV-C++调试设置

       昨天用C/C++去考了CSP,结果用DEV-C++调试总是闪退,按照我的记忆打开了调试参数,迷迷糊糊搞了一通,还是没办法调试,难受了几个小时。所以今天痛下决心,一定要写下DEV-C++设置调试的过程,警示自己! 解决步骤 1.打开DevC++找到上方工具栏 2.点击选择编译选项,再按下图所示设置即可

懒羊羊的快乐小屋 1029

【AI智能体】Claude Code +Superpowers 项目实战操作详解

Claude Code +Superpowers 项目实战操作详解

congge 4053

nginx: if逻辑运算 (与或非) 实现

转自:http://www.iteblog.com/archives/1243 今天我想开通博客的二级域名(http://download.iteblog.com/),然后在nginx配置文件里面配置好了。那个域名可以正常访问,但是如果用户输入了http://bbs.iteblog.com/这个也当作一个二级页面进行处理,但是我博客没有bbs这个二级域名,所以会导致访问失败,我想把除了htt

3万+

【YOLO11改进 - C3k2融合】C3k2融合DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测

【YOLO11改进 - C3k2融合】C3k2DWRSeg二次创新C3k2_DWR:扩张式残差分割网络,提高特征提取效率和多尺度信息获取能力,助力小目标检测

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 1056

nginx 配置相关详解

nginx是一个高性能的HTTP和反向代理服务器。是由塞索耶夫为俄罗斯访问量第二的Rambler.ur站点开发的,nginx是Apache服务不错的替代品。以#开头的一行为注释,只有单行注释。listen:该指令用于配置网络监听:该指令用于虚拟主机的配置,通常分为两种:基于域名的虚拟主机配置:servername name …;基于IP地址的虚拟主机的配置:server_name 192.168.1.129;location:用于匹配URLproxy_pass:用于设置被代理服务器的地址index。

跟着飞哥学编程(全栈联盟) 5675

【测开求职】面试题:数据结构 吐血整理

本篇文章是笔者为准备研究生复试以及校招而写,因此主要针对问答,注重理解,而不在于细节计算。涵盖考研范围内的所有知识内容,读者可以先查看上面的链接走一遍数据结构的整体框架结构。其中,重点难点以及易混淆的知识点,笔者用其他近30篇文章进行了详述,在知识点处贴好了链接,有需要的可以查阅。

vector的博客 7065

windows 应用爬虫: exe自动操作

之前写了那么多关于手机和网页爬取,今天就写一期关于exe的爬取,exe的爬取其实也是类似的,一个方式是抓包,还有一个模拟人工界面获取元素数据。抓包肯定是最直接,数据也是最全的, 有些数据不一定会显示在界面上,或者必须通过一定交付方式,才能显示到页面(比如移动鼠标到具体元素上)。本文依旧采用python方式,先说说怎么通过界面方式驱动应用点击和数据获取。

youbingchen的博客 888

centOS7安装nginx及nginx配置

安装所需插件 1、安装gcc gcc是linux下的编译器在此不多做解释,感兴趣的小伙伴可以去查一下相关资料,它可以编译C,C++,Ada,Object C和Java等语言 命令:查看gcc版本 gcc -v 一般阿里云的centOS7里面是都有的,没有安装的话会提示命令找不到, 安装命令: yum -y install gcc 2、pcre、pcre-...

Snow、杨 30万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

nginx配置http协议的相关配置

nginx配置http协议的相关配置ngx_http_core_moduletcp_nodelay on | offtcp_nopush on | offsendfile on | offcharset charset | offserver_tokens on | off | build | string自定义nginx版本信息与套接字相关的配置listen PORT|address[:port]|unix:/PATH/TO/SOCKET_FILEserver_name name ...;定义路径相关的配

枫叶斜阳的博客 1406

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

nginx的url配置解析相关笔记

要掌握nginx的url配置解析,我建议先看看正则表达式,这样上手nginx的url配置会快速上手。这是我入门的正则表达式1. 匹配QQ号必须为5位到12位数字 ^\d{5,12}$ 12345 123456789101 2. 电话号码 \(?0\d{2}[-) ]?\d{8}|0\d{3}-\d{7} (010)88886666,或022-22334455,或02912...

lotluck的专栏 2711

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Nginx配置文件详解

Nginx特点: 基于异步网结I/O模 型(epollk kqueue) 具备支持高性能,高并发的特性,并发连接可达数万。 对小文件(小于1 MB的静态文件)高基于异步网结I/O模 型(epollk kqueue) 具备支持高性能,高并发的特性,并发连接可达数万。 对小文件(小于1 MB的静态文件)高并发支持很好,性能很高 不支持类似 Apache的DSO模式、扩展库必须编译进主程序(缺点) 进程占用系统资源比较低。 支持Web、反向Proxy、Cache三大重点功能,幷且都很优秀。

棉花糖老丫 1748

nginx相关配置及理论总结

1:Nginx是一款轻量级、高性能、开源免费的httpd服务器、反向代理服务器、缓存服务器 2:Nginx的I/O模型 支持I/O复用 epoll模型(事件驱动),异步非阻塞(AIO) 3:Nginx的主要结构模块 ①核心模块 core ②httpd模块 ngx_httpd ③代理模块 ngx_http_proxy ④集群模块 ngx_http_upstream ⑤fastcgi模块 ngx_http_fastcgi (nginx基于fastcgi...

weixin_46155307的博客 186

Nginx Rewrite +正则表达式

目录一、Nginx Rewrite概述1. Rewrite 跳转场景2. Rewrite 跳转实现3. Rewrite 实际场景二、Nginx 正则表达式1. 常见的正则表达式元字符2. nginx 与 apache 区别三、Rewrite 命令详解1. 语法格式2. flag 标记四、location 解析1. location 分类2. 正则匹配的常用表达式3. location 优先级4. 优先级示例5. rewrite 和 location 比较6. location 优先级规则 一、Nginx

shenyuanhaojie的博客 3万+

Nginx安装及其相关配置

Nginx安装及其相关配置一、Nginx安装1. 去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2. 上传nginx到linux系统3. 安装依赖环境4.解压,需要注意,解压后得到的是源码,源码需要编译后才能安装5.编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错6.在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件7.make编译&安装8.进入sbin目录启动nginx二、配置反向代理1、配置upstream2

w先生的博客 2820

Nginx Rewrite && 正则表达式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、Nginx Rewrite概述1.Rewrite 场景2.Rewrite 实现总结 前言 一、Nginx Rewrite概述 1.Rewrite 场景 调整用户浏览的 URL,看起来更规范,合乎开发及产品人员的需求。 为了让搜索引擎搜录网站内容及用户体验更好,企业会将动态URL地址伪装成静态地址提供服务。 网址换新域名后,让旧的访问跳转到新的域名上。例如,访问京东的 360buy.com 会跳转到 jd.com。 服

白雪滑落树梢 3627

Nginx配置详解: 从基础入门到高级实战的全面指南

在 Web 服务架构中,Nginx 以其卓越的高性能、高并发处理能力和灵活的配置特性,成为众多开发者和企业的首选 Web 服务器与反向代理工具。无论是静态资源服务、反向代理转发,还是负载均衡、安全防护,Nginx 都能通过合理的配置轻松实现。然而,Nginx 的配置语法相对复杂,不同模块与指令的组合使用方式多样,这也让不少初学者望而却步。本文我将从 Nginx 配置的基本结构出发,逐步深入到高级配置实践,并结合实际案例,帮你全面掌握 Nginx 配置的核心要点与技巧。

aa_hdkf_vg的博客 5731

nginx的Rewrite和其他相关配置

nginx配置location总结及rewrite规则写法 location正则写法 一个示例: location = / { # 精确匹配 / ,主机名后面不能带任何字符串 [ configuration A ] } location / { # 因为所有的地址都以 / 开头,所以这条规则将匹配到所有...

weixin_30315723的博客 250
上一篇: 解决@JsonFormat注解后查询日期少一天的问题
下一篇: nginx配置实践总结实用(配置一次 动态处理多个vue项目路由)——<五>
Bestest~
博客等级 码龄9年 2806粉丝 173原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值