Nginx location
- location块是nginx配置文件中,配置在http块中的server块中,匹配的是uri
location匹配uri的方式 :
-
精确匹配: location = /[ ...}
-
正则匹配: location - /{ ...}
-
一般匹配: location /{ ....}
匹配的规则:
-
= :精确匹配,完全匹配,错一个字都匹配到,必须完全一致。
-
^~ : 匹配普通字符,前缀匹配
-
~ :区分大小写的匹配
-
~ * :不区分大小写的匹配.
-
~$ : 结束位置
-
!~ :区分大小写的匹配,取的逻辑非,取反
-
!~* :不区分大小写的取反
注 :location 越精确,越匹配(优先级越高)
匹配的优先级 :
-
精确匹配 最高
-
正则匹配 次之
-
通用匹配 最后
location = > location ^- > locatuin -* > location /test/ > location /
一旦匹配到了之后,不再向下匹配.
生产中location 匹配规则;
-
第一个必选规则: location = /
直接匹配根网站。通过域名访问网站首贞是最多的。使用精确匹配,可以加快处理速度。首贞。
-
第二个规则 : location ^- /static/ f 处理静态文件的请求,目录匹配.
-
第三个规则 :location -*.(gifljpglpnglcss)、
四配图片用的
-
第四个通用规则 :
location / {
proxy_pass 指定代理,反向代理,转发动志请求。.php .jsp的请求,发到后端
}
rewrite 重写、重定向
-
rewarite使用nginx的全局变量或者自己设置的变量,结合正则表达式和标志位实现url的重定向
rewrite 执行顺序 :
-
执行server块当中的rewrite
-
执行location匹配
-
如果location当中还有rewrite,继续执行。
不停rewrite,死循环,只能10次,然后报错,报错的状态码: 500
rewrite的语法:
rewrite <regex> <replacemnet> [flag]
rewrite :开始重定向 regex:正则匹配的规则 replacemnet:表示跳转后的内容,你要重定向的url flag :标志位 (4种)
-
permanent :永久重定向: 返回码301 ,永久性的变更url,搜索引擎会转移他的权重以及排名到新的URL.
-
redirect :临时重定向,显示的返回码: 302 ,用于短期变更(网站维护,或者升级更新)。搜索引擎是不是转移权重和排名到新的url
-
break :不会改变url而且只会请求一次、跳出当前匹配 ,即刻终止
-
last :本条负责匹配完成后,继续向下匹配,只要有 last ,就继续匹配,,配置的时候要注意,防止死循环
如 :日志显示:
rewrite or internal redirection cycle while processing
#表示写成了死循环,一直在匹配 location,10次,返回码500.
nginx的变量 :
-
x_forwarded_for:用于获取HTTP请求头中的X-Forwarded-For字段的值。 X-Forwarded-For是一个常见的HTTP请求头,通常由代理服务器添加,用于指示原始客户端的IP地址。 proxy_set_header X-Forwarded-For $remote_addr; 这个是传给后端。
-
X-Real-IP:头部为客户端真实IP地址 proxy_set_header X-Real-IP $remote_addr; proxy_set_header指令来设置X-Real-IP头部的值为$remote_addr,即客户端的真实IP地址。 这样,Nginx会将客户端的真实IP地址作为X-Real-IP头部的值传递给后端服务器。
如果没有在其他地方显示设置 content-type的头字段,默认响应为text/plain; 纯文本格式
test/html :默认的响应类型,也就是我们说的页面
test/plain :纯文本格式,类似于 .txt 文件
test/css :css样式表的 类型 .css
test/javascript :java脚本 .js 前端文件 ,也可以理解是 java解析的程序文件
相关文章:
Nginx location
location块是nginx配置文件中,配置在http块中的server块中,匹配的是uri location匹配uri的方式 : 精确匹配: location /[ ...} 正则匹配: location - /{ ...} 一般匹配: location /{ ....} 匹配的规则: :精确匹…...
数据库字段命名导致的SQL报错
1.表设计 create table variables (id bigint not null comment 主键,business_key varchar(128) null comment 业务key,key varchar(128) null comment Map中的key,value varchar(255) null comment…...

【办公自动化】使用Python一键提取PDF中的表格到Excel
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...

【基础类】—原型链系统性知识
一、创建对象有几种方法 字面量创建对象 1-1. 什么是字面量 字面量就是所见即所,指的是常量;用来为变量赋值时的常数量 代码例子:123;‘ABC’, {name: ‘张三’}, undefined , true 生活例子:门店的招牌&a…...

ddia(3)----Chapter3. Storage and Retrieval
However, first we’ll start this chapter by talking about storage engines that are used in the kinds of databases that you’re probably familiar with: traditional relational databases, and also most so-called NoSQL databases. We will examine two families o…...

SpringBoot自定义拦截器interceptor使用详解
Spring Boot拦截器Intercepter详解 Intercepter是由Spring提供的Intercepter拦截器,主要应用在日志记录、权限校验等安全管理方便。 使用过程 1.创建自定义拦截器,实现HandlerInterceptor接口,并按照要求重写指定方法 HandlerInterceptor接口源码&am…...

AI抠图使用指南:Stable Diffusion WebUI Rembg实用技巧
抠图是图像处理工具的一项必备能力,可以用在重绘、重组、更换背景等场景。最近我一直在探索 Stable Diffusion WebUI 的各项能力,那么 SD WebUI 的抠图能力表现如何呢?这篇文章就给大家分享一下。 安装插件 作为一个生成式AI,SD…...

gitlab-Runner搭建
root wget https://packages.gitlab.com/runner/gitlab-runner/packages/fedora/29/gitlab-runner-12.6.0-1.x86_64.rpm/download.rpm rpm -ivh download.rpm ---- 安装 rpm -Uvh download.rpm -----更新升级 然后运行: gitlab-runner register --url https://git…...

【ChatGPT 指令大全】销售怎么借力ChatGPT提高效率
目录 销售演说 电话销售 产出潜在客户清单 销售领域计划 销售培训计划 总结 随着人工智能技术的不断进步,我们现在有机会利用ChatGPT这样的智能助手来改进我们的销售工作。在接下来的时间里,我将为大家介绍如何运用ChatGPT提高销售效率并取得更好的…...

【Spring】-Spring项目的创建
作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【Framework】 主要内容:创建spring项目的步骤:先创建一个maven项目,再在pom.xml中添加spring框架支持,最后写一个启动类。 文章目…...

SQL | 使用通配符进行过滤
6-使用通配符进行过滤 6.1-LIKE操作符 前面介绍的所有操作符都是通过已知的值进行过滤,或者检查某个范围的值。但是如果我们想要查找产品名字中含有bag的数据,就不能使用前面那种过滤情况。 利用通配符,可以创建比较特定数据的搜索模式。 …...
make: *** [Makefile:719: ext/openssl/openssl.lo] Error 1
在ubuntu系统上编译安装PHP7.4.33时,会报错如下 make: *** [Makefile:719: ext/openssl/openssl.lo] Error 1 原因分析:这个错误提示的意思是PHP配置过程中缺少OpenSSL库文件,因此在编译过程中出现了问题;Ubuntu 22.04 中openss…...

Android Studio实现简单ListView
效果图 MainActivity package com.example.listviewtest;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.widget.ListView;import com.example.listviewtest.adapter.PartAdapter; import com.example.listviewtest.bean.PartB…...

【设计模式】模板模式
什么是模板模式? 模板方法模式(Template Method Pattern),又叫模板模式(Template Pattern),在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行…...

配置docker和复现
1.Nginx环境搭建 选择centos7来进行安装 1.1 创建Nginx的目录并进入 mkdir /soft && mkdir /soft/nginx/ cd /soft/nginx/ 1.2 下载Nginx的安装包,可以通过FTP工具上传离线环境包,或者通过wget命令在线获取安装包 wget https://nginx.org/down…...

Qt应用开发(基础篇)——工具箱 QToolBox
一、前言 QToolBox类继承于QFrame,QFrame继承于QWidget,是Qt常用的基础工具部件。 框架类QFrame介绍 QToolBox工具箱类提供了一列选项卡窗口,当前项显示在当前选项卡下面,适用于分类浏览、内容展示、操作指引这一类的使用场景。 二…...

地理测绘基础知识(1) 坐标系经纬度与ECEF直角坐标的基本换算
经纬度与ECEF直角坐标的基本换算 我们目前最常用的全球坐标系是WGS-84坐标系,各种手机、地图基本用经纬度来标记位置。然而,经纬度对于空间的计算是很复杂的,需要很多三角函数操作。平面直角坐标系利用向量的运算,可以非常方便的…...

【UE4 RTS】08-Setting up Game Clock
前言 本篇实现的效果是在游戏运行后能够记录当前的游戏时间(年月日时分秒),并且可以通过修改变量从而改变游戏时间进行的快慢。 效果 步骤 1. 在Blueprints文件夹中新建如下两个文件夹,分别命名为“GameSettings”、“Player”…...

百度chatgpt内测版
搜索AI伙伴 申请到了百度的chatgpt: 完整的窗口布局: 三个哲学问题: 灵感中心: 请做一副画,一个渔夫,冬天,下着大雪,在船上为了一家的生计在钓鱼,远处的山上也都是白雪&a…...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)
要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...

HarmonyOS运动开发:如何用mpchart绘制运动配速图表
##鸿蒙核心技术##运动开发##Sensor Service Kit(传感器服务)# 前言 在运动类应用中,运动数据的可视化是提升用户体验的重要环节。通过直观的图表展示运动过程中的关键数据,如配速、距离、卡路里消耗等,用户可以更清晰…...