热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

drools动态配置规则_5分钟搞懂nginx的location匹配规则

目录概述location介绍location指令语法location配置实例解析location常用场景实战禁止访问.sh后缀的文件实例php7进阶到架构师相关阅读概述这是关于ph

目录
  • 概述
  • location介绍
  • location指令语法
  • location配置实例解析
  • location常用场景实战
  • 禁止访问.sh后缀的文件实例
  • php7进阶到架构师相关阅读

概述

这是关于php进阶到架构之Nginx进阶学习的第篇文章:5分钟搞懂nginx的location匹配规则

  • 第一篇:5分钟搞懂nginx的location匹配规则

location介绍

location指令是http模块当中最核心的一项配置,

根据预先定义的URL匹配规则来接收用户发送的请求,

根据匹配结果,将请求转发到后台服务器、

非法的请求直接拒绝并返回403、404、500错误处理等。

location指令语法

location [=|~|~*|^~|@] /uri/ { … } 或 location @name { … }

规则说明:

61b75c03f2325a4911e72000b6deb5df.png

nginx匹配规则说明

多个location配置的匹配顺序:

  • 首先匹配:"="
  • 其次匹配:"^~"
  • 再匹配:文件location书写顺序
  • 若没有匹配到,最后把所有请求交给通配符("/")
  • 当有匹配成功时候,停止匹配,按当前匹配规则处理请求

当nginx收到一个请求后,

会截取请求的URI部份,

去搜索所有location指令中定义的URI匹配模式。

在server模块中可以定义多个location指令来匹配不同的url请求,

多个不同location配置的URI匹配模式,

总体的匹配原则是:先匹配普通字符串模式,再匹配正则模式。

只识别URI部份

location配置实例解析

location = / { #规则A}location = /login { #规则B}location ^~ /static/ { #规则C}location ~ .(gif|jpg|png|js|css)$ { #规则D}location ~* .png$ { #规则E}location / { #规则F}

访问 http://localhost/

匹配规则 A

访问 http://localhost/login

匹配规则 B

访问http://localhost/register

匹配规则 F

访问 http://localhost/static/a.html

匹配规则 C

访问 http://localhost/a.gif, http://localhost/b.jpg

匹配规则 D和规则 E,

但是规则 D 顺序优先,

规则 E不起作用

访问 http://localhost/static/c.png

满足条件的有规则C,D,E

但由于~^/static/优先级高,故匹配规则C

访问 http://localhost/a.PNG

匹配规则 E,而不会匹配规则 D,

因为规则 E 不区分大小写

访问 http://localhost/category/id/1111

最终匹配到规则 F,因为以上规则都不匹配

location常用场景实战

实际使用中,至少有三个匹配规则定义,如下:

1.第一个必选规则:直接匹配网站根

通过域名访问网站首页比较频繁,

使用这个会加速处理

这里是直接转发给后端应用服务器了,

也可以是一个静态首页

第一个必选规则location = / { proxy_pass http://locolhost/index}

第二个必选规则:处理静态文件请求

这是 nginx 作为 http 服务器的强项处理静态文件请求,

有两种配置模式,

目录匹配或后缀匹配,

任选其一或搭配使用

location ^~ /static/ { root /webroot/static/;}location ~* .(gif|jpg|jpeg|png|css|js|ico)$ { root /webroot/res/;}

第三个规则:通用规则

用来转发动态请求到后端应用服务器非静态文件请求就默认是动态请求,自己根据实际把握

location / { proxy_pass http://localhost/}

禁止访问.sh后缀的文件实例

server{......其他配置location ~.*.(sh)${return 405;}}

表示当访问 "*.sh"的文件就会返回405错误

php7进阶到架构师相关阅读

https://www.kancloud.cn/gofor/gofor

最后,欢迎大家留言补充,讨论~~~



推荐阅读
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了C#中数据集DataSet对象的使用及相关方法详解,包括DataSet对象的概述、与数据关系对象的互联、Rows集合和Columns集合的组成,以及DataSet对象常用的方法之一——Merge方法的使用。通过本文的阅读,读者可以了解到DataSet对象在C#中的重要性和使用方法。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 本文介绍了一些好用的搜索引擎的替代品,包括网盘搜索工具、百度网盘搜索引擎等。同时还介绍了一些笑话大全、GIF笑话图片、动态图等资源的搜索引擎。此外,还推荐了一些迅雷快传搜索和360云盘资源搜索的网盘搜索引擎。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
author-avatar
dcl9784752
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有