第6章 静态代理

第6章 静态代理

把所有静态资源的访问改为访问nginx,而不是访问tomcat,这种方式叫静态代理。因为nginx更擅长于静态资源的处理,性能更好,效率更高。

​ 所以在实际应用中,我们将静态资源比如图片、css、html、js等交给nginx处理,而不是由tomcat处理。

img

6.1 Nginx静态代理实现方式

6.1.1 方式一 在nginx.conf的location中配置静态资源的后缀

例如:当访问静态资源,则从linux服务器/opt/static目录下获取(举例)

location ~ .*\.(js|css|htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid
|doc|ppt|pdf|xls|mp3|wma)$ {
  	root /opt/static;
}

说明

Ø ~ 表示正则匹配,也就是说后面的内容可以是正则表达式匹配

Ø 第一个点 . 表示任意字符

Ø *表示一个或多个字符

Ø . 是转移字符,是后面这个点的转移字符

Ø | 表示或者

Ø $ 表示结尾

整个配置表示以 .后面括号里面的这些后缀结尾的文件都由nginx处理

放置静态资源的目录,要注意一下目录权限问题,如果权限不足,给目录赋予权限;

否则会出现403错误 chmod 755

6.1.2 方式二 在nginx.conf的location中配置静态资源所在目录实现

例如:当访问静态资源,则从linux服务器/opt/static目录下获取(举例)

location ~ .*/(css|js|img|images) {
  	root  /opt/static;
}

xxx/css

xxx/js

xxx/img

xxx/images

​ 我们将静态资源放入 /opt/static 目录下,然后用户访问时由nginx返回这些静态资源

6.1.3 案例: 通过nginx访问上面myweb案例中的图片

Ø 修改nginx.conf文件,在location中配置对静态资源的拦截,如果是静态资源,就交给nginx处理,使拦截静态文件后缀名的方式

img

Ø 重启nginx

img

Ø 浏览器访问nginx服务器,进行测试,发现图片无法加载

img

Ø 右键图片,查看图片的地址为http://192.168.235.128/myweb/image/001.jpg,因为我们在nginx中配置了对.jpg的拦截,所以请求会交给nginx服务器进行处理。

根据ip + port等于root的原则,我们会去/opt/static/myweb目录下找资源,所以在/opt/static下创建myweb目录,并放入image目录及图片,为了和tomcat上的图片区分,我们这里图片的内容发生了变化

img

Ø 浏览器访问nginx访问器,进行测试 ,图片访问正常,而且访问的是nginx上的图片

img

Ø 将nginx.conf中的location拦截方式修改为拦截静态文件目录的方式

img

Ø 重启nginx服务器,通过浏览器访问nginx服务器,进行测试,访问正常,但是访问的是tomcat服务器下的图片

img

注意:

我们拦截的目录为/images,

请求的图片目录是/image,这样拦截不到;

但是反过来

我们拦截的目录为/imag

请求的图片目录为/image,这样可以拦截到

所有我们需要将location的/images修改为/image。所以一般我们用方式一,匹配静态资源后缀的方式更好一些,防止js拦截jsp目录。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/18556.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

helm和chart

Helm helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。 he…

keil移植linux(makefile)

文章目录 运行环境:1.1 freeRTOS_LED工程移植1)修改cubeMX配置2)setting设置3)launch设置4)修改makefile5)修改代码6)实验效果 运行环境: ubuntu18.04.melodic 宏基暗影骑士笔记本 stm32f427IIH6 stlink 9-24v可调电源 robomaster A 板 1.1 freeRTOS_L…

第二章——进程与线程(上)

上船不思岸上人,下船不提船上事 文章目录 2.1.1 进程的概念,组成,特征知识总览进程的概念进程的组成——PCB程序是如何运行的进程的组成进程的特征知识回顾 2.1.2 进程的状态与转换,进程的组织知识总览创建态,就绪态运…

yolov5 8系列 labelme数据标注 并生成训练数据集

yolov5 8系列 labelme数据标注 数据集生成终极教程 一.数据集准备二.转换为yolo 数据集 一.数据集准备 创建一个data 文件夹在data文件夹下创建一个images 文件夹将所有图片数据放入images文件夹下 使用labelme标注数据 python环境下使用 pip install labelme 安装labelme在c…

缓存击穿,穿透,雪崩

一、缓存击穿 单个热点key,在不停的扛着大并发,在这个key失效的瞬间,持续的大并发请求就会击破缓存,直接请求到数据库 解决方案 使用互斥锁(Mutex Key),只让一个线程构建缓存,其他…

Golang中的运算符

目录 运算符 算术运算符 代码案例: 关系运算符 代码案例: 逻辑运算符 代码案例: 位运算符 代码案例: 赋值运算符 代码案例: 其他运算符 运算符 算术运算符 Go语言中的算术运算符包括加、减、乘、除和取模…

4.2和4.3、MAC地址、IP地址、端口

计算机网络等相关知识可以去小林coding进行巩固(点击前往) 4.2和4.3、MAC地址、IP地址、端口 1.MAC地址的简介2.IP地址①IP地址简介②IP地址编址方式③A类IP地址④B类IP地址⑤C类IP地址⑥D类IP地址⑧子网掩码 3.端口①简介②端口类型 1.MAC地址的简介 …

Mac电脑配置李沐深度学习环境[pytorch版本]使用vscode

文章目录 第一步 M1芯片安装Pytorch环境安装Miniforge创建虚拟环境安装Pytorch 第二步 下载李沐Jupyter文件第三步 配置vscode参考 第一步 M1芯片安装Pytorch环境 安装Miniforge Mac打开终端(Mac电脑如何启动终端?打开启动台,搜索终端即可&…

Python 中 随机数 random库 学习与使用

python中的随机数应用大体包含,随机整数、随机浮点数 和 获取随机数序列三类。 一. 随机整数 1.1 随机整数,包含上下限(闭区间) randint(a, b):随机选取 [a, b] 之间的一个整数,随机整数包含a 和 b&#…

Windows编程资源,菜单资源,图标资源,光标资源,上下文菜单,字符串资源,加速键资源

Windows资源是一种二进制数据,由链接器链接进程序成为程序的一部分,通过资源的方式可以很方便的对应用程序进行扩展。在Windows中资源可以是系统自定义的,也可以是用户自定义的。在本篇文章中为大家讲解菜单资源,上下文菜单&#…

PMP证书“扫盲”时间2023年考证人快看过来

二,PMP报考指南 学历与工作经验要求: 本科及以上学历,三年或以上的项目管理工作经验; 专科及以上学历,五年或以上的项目管理工作经验。 项目管理培训:35小时以上的项目管理教育/培训。 备注&#xff1…

Unity Audio -- (3)创建3D音效

本节会添加场景中小瀑布的音效。小瀑布的音效会有一个作用范围,也会根据角色所处的位置不同,产生不同的效果。 添加小瀑布的声音 1. 在Hierarchy中,点击右键,选择Audio -> Create Audio Source,将这个新的Audio So…

NOA上车「清一色」自主品牌,哪些供应商正在突围前线

随着入门级L2进入普及周期,以NOA(高速、城区)为代表的L2/L2赛道,正在成为主机厂、硬件供应商、算法及软件方案商的下一波市场制高点的争夺阵地。 高工智能汽车研究院监测数据显示,2023年1-3月中国市场(不含…

MySQL基础(十一)数据处理之增删改

1. 插入数据 1.1 实际问题 解决方式:使用 INSERT 语句向表中插入数据。 1.2 方式1:VALUES的方式添加 使用这种语法一次只能向表中插入一条数据。 情况1:为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....)…

第十五届吉林省赛个人题解【中档题(不过可能对你来说是简单题)】(H、G、C)

文章目录 H. Visit the Park(STL)G. Matrix Repair(思维题)C.Random Number Generator(BSGS算法) H. Visit the Park(STL) 题意:给你一个无向图,每条边上都有一个数码,然后给你一个路径,每次你必须从Ai走到Ai1(直接走…

能否实现有价值观的--AI ?

人机融合所形成的新系统确实有可能产生新的科技革命。人机融合可以将人类的智慧和创造力与机器的计算能力和数据处理能力相结合,从而创造出更加智能化和高效化的新系统和产品。例如,人机融合可以推动智能制造、智能医疗、智能交通、智慧城市等各个领域的…

Go:值与指针

1. 计算机中的值 在百万年的演化历史中,人类对事物的属性进行了抽象,有了数量、精度、信息等概念的表示,对应的我们称之为整数、小数、文本文字等。计算机出现后,我们使用计算机对真实世界的问题进行建模,通过计算机的…

俩小伙一晚上写了个 AI 应用,月入两万??(文末附开发教程)

开发出一款能够与 AI 对话生成和编辑思维导图的工具,听起来似乎只能是一群专业的 AI 背景团队花费大量的时间和精力训练模型,打磨应用才能完成的事情。 但是,两名大学生却在一夜之间完成了,就像炼金术士将庸俗的材料转化成黄金一…

【c语言】字符串比较 | API仿真

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 给大家跳段街舞感谢支持&#xff01;ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ …

Snipaste介绍、安装、使用技巧(截图贴图工具)

一、简介 Snipaste 是一个简单但强大的截图贴图工具&#xff0c;也可以让你将截图贴回到屏幕上&#xff01;下载并打开 Snipaste&#xff0c;按下 F1 来开始截图&#xff0c;再按 F3&#xff0c;截图就在桌面置顶显示了。就这么简单&#xff01; 你还可以将剪贴板里的文字…