Nginx服务性能和安全优化(念念不忘,必没回响)

news2024/11/24 1:35:35

一、配置Nginx隐藏版本相关信息

1.隐藏版本号

修改 nginx.conf 文件,在http块中添加字段后,重载服务
在这里插入图片描述
获取报文信息并查看(浏览器查看或使用命令)
在这里插入图片描述

2.修改版本号及相关信息

如果做了上一步在nginx.conf 中添加了 server_tokens off 需要注释掉!!
修改源码信息(修改完需要重新编译安装)
在这里插入图片描述
(修改的只是显示的信息,并不是真正修改版本和信息)
在这里插入图片描述
重新编译安装

cd /opt/ngnginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
 
make && make install
 
systemctl restart nginx.service

获取报文信息并查看
在这里插入图片描述

二、修改Nginx运行时的属主和属组

修改 nginx.conf 文件
在这里插入图片描述
查看nginx运行用户发生改变(默认为nobody) a
在这里插入图片描述

三、配置Nginx网页缓存时间

当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度;
一般针对静态网页设置,对动态网页不设置缓存时间。

修改 nginx.conf 文件 ,在http块 或server块 或location块中添加 expires 参数

# ~ 代表使用正则表达式,后面匹配的是以|分割的字符结尾的文件
location ~ \.(gif|jpg|jpeg|png|mp4|mp3|txt)$ {       
            root   html;
            expires 1d;    #代表缓存时间为1天
}

aa
在这里插入图片描述
添加图片,访问测试

查看报文信息,86400代表1天,设置生效

四、配置Nginx站点日志分割

编写脚本(因为放在后一天凌晨执行,所以获取前一天的日期)
在这里插入图片描述
执行并测试
在这里插入图片描述
加入计划任务
在这里插入图片描述

五、设置Nginx长连接及超时时间

keepalive_timeout
指定KeepAlive的超时时间(timeout)。指定每个tcp连接最多可以保持多长时间,服务器将会在这个时间后关闭连接。
Nginx的默认值是65秒,有些浏览器最多只保持60秒,所以可以设定为 60秒。若将它设置为0,就禁止了keepalive连接。
第二个参数(可选的)指定了在响应头keepalive_timeout 中的time值。这个头能够让一些浏览器主动关闭连接,这样服务器就不必去关闭连接了。没有这个参数,Nginx不会发送Keep-Alive响应头。
client_header_timeout
客户端向服务端发送一个完整的 request header的超时时间。如果客户端在指定时间内没有发送一个完整的 reqpuest header,Nginx 返回HTTP 408(RequestTimed out ) 。
client_body_timeout
指定客户端与服务端建立连接后发送request body的超时时间。如果客户端在指定时间内没有发送任何内容,Nginx返回 HTT 408(Request Timed out) 。

修改 nginx.conf 文件
在这里插入图片描述
检查语法并重启服务
在这里插入图片描述
访问并查看请求报文(保持连接,且浏览器超时时间为50s)
在这里插入图片描述

六、配置Nginx网页压缩

Nginx的ngx http gzip module压缩模块提供对文件内容压缩的功能。
允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装,可在配置文件中加入相应的压缩功能参数对压缩性能进行优化。
在这里插入图片描述
在这里插入图片描述
检查语法并重启服务
在这里插入图片描述
准备页面并访问测试
在这里插入图片描述

七、配置Nginx防盗链

1.模拟盗链

192.168.116.10为www.abc.com; 192.168.116.20为www.def.com;
www.def.com模拟盗取www.abc.com的网页图片;
使用windows主机访问两个网站。

配置域名解析(为了方便这里修改/etc/hosts文件)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在www.def.com的首页添加图片
在这里插入图片描述
在www.abc.com的首页盗取此站点图片
在这里插入图片描述

2.配置防盗链并测试

修改 nginx.conf 文件,如果有缓存配置,需要在缓存配置之前加上

location ~* .(gif|jpg|jpeg|png|swf)$ { … }
~代表使用正则表达式 ,*代表不区分大小写(location选项中不能包含防盗链图片的格式)
vaild_referers …
代表设置受信任的网站,匹配到的将不会做防盗链。
none
允许没有http_refer的请求访问资源(根据Referer的定义,它的作用是指示一个请求是从哪里链接过来的,如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含Referer字段的),如http://www.def.com/error.webp。
blocked
允许不是http://开头的,不带协议的请求访问资源。
i n v a l i d r e f e r e r 就是 v a i l d r e f e r e r s 指定的站点范围取反,即非信任站点 i f 判断当地址满足 invalid_referer 就是vaild_referers指定的站点范围取反,即非信任站点 if判断当地址满足 invalidreferer就是vaildreferers指定的站点范围取反,即非信任站点if判断当地址满足invalid_referer的范围,则指定条件中的语句,
即 rewrite ^/ http://www.def.com/error.webp; 重写访问的url为指定url。

在这里插入图片描述
在这里插入图片描述
在www.def.com下上传防盗链的图片
在这里插入图片描述
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构-二分查找

1.1 什么是算法? 定义 在数学和计算机科学领域,算法是一系列有限的严谨指令,通常用于解决一类特定问题或执行计算 In mathematics and computer science, an algorithm (/ˈlɡərɪəm/) is a finite sequence of rigorous instructions, …

【Spring Cloud Gateway】⑥SpringBoot3.x集成SpringDoc指南

文章目录 背景本地开发环境介绍pom.xml主要依赖application.yml效果预览动态生成swagger文档分组效果预览在线文档 背景 Spring Cloud Gateway使用Netty作为嵌入式服务器,并基于响应式Spring WebFlux。做为微服务网关,多个微服务把API挂在Gateway上&…

轻量实时操作系统学习(二)

306xH系列架构 主系统包含以下部件: maters:RISC-V CPU、DMA、CORESIGHTslaves:嵌入式SYSRAM、嵌入式Flash memory、系统外设 这些模块通过AMBA总线架构互连,如图所示。 TCM_BUS:此总线将RISC-V CPU的TCM接口与存…

STM32学习(十四)

低功耗 降低集成电路的能量消耗。 低功耗特性对用电池供电的产品: 更小电池体积(降低了大小和成本) 延长电池寿命 电磁干扰更小,提高无线通信质量 电源设计更简单,无需过多考虑散热问题 STM32具有运行、睡眠、停止和…

【SQL Server】数据库开发指南(八)高级数据处理技术 MS-SQL 事务、异常和游标的深入研究

本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中。 本系列文章列表如下: 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南(一)数据库设计 【SQL Se…

Flutter 笔记 | Flutter 核心原理(七)The key is the key!

题外话 本文这个标题其实让我想起了电影《蝙蝠侠大战超人:正义黎明》中的一句话,在该片中,从未来穿越回来的闪电侠对蝙蝠侠发出警告: It’s Lois! She’s the key! 【布鲁斯,是露易丝&#xff…

chatgpt赋能python:Python增量备份:保障数据安全,提高效率

Python增量备份:保障数据安全,提高效率 现今,越来越多的企业和个人都需要使用计算机存储数据,这些数据可能是各种各样的,例如文件、数据库、邮件等等,这些数据的安全保障是至关重要的。 正是基于这样的背…

chatgpt赋能python:Python多行转一行:最简便的方法

Python多行转一行:最简便的方法 Python是一个既神奇又神奇(fully magical)的编程语言。但有时候,我们用Python编写的程序会产生多行代码,而需要把这些多行代码转换为一行以便于复制和粘贴。这种情况下,我们…

chatgpt赋能python:Python备份数据库——保障数据安全,防止数据丢失

Python备份数据库——保障数据安全,防止数据丢失 在现代社会,数据被称为新的石油,数据的意义愈发重要。数据的丢失可能会导致不可挽回的损失,给企业造成巨大的财务损失,更为重要的是企业形象的损失。备份数据是保护数据最好的途径…

chatgpt赋能python:Python奇偶求和函数

Python奇偶求和函数 Python是一种简单易学、高效的编程语言,具有丰富的库和工具,让程序员能够快速编写出各种各样的应用程序。Python中的函数可以让程序更加模块化,更加易于维护和扩展。其中,奇偶求和函数是一个很好的例子&#…

chatgpt赋能python:Python培训:成为一名高薪Python工程师

Python培训:成为一名高薪Python工程师 Python已成为当今最流行的编程语言之一,它广泛应用于人工智能、机器学习、数据科学和Web开发等各个领域。许多公司都在寻找经验丰富的Python工程师来开发他们的产品。如果你想成为一名高薪Python工程师&#xff0c…

创客匠人CEO蒋洪波:用门店思维做直播

互联网时代,转型线上做知识付费成为教育培训行业的主流,直播教学成为新型的教学模式受到了广泛认可。很多老师在线下培训深耕多年,知识储备丰富,但想要转型线上又缺少方法,缺少去改变的欲望,怕转型做线上直…

区块链的基本介绍

目录 1、简介 2、区块链的分类 2.1 公有链 2.2 联盟链 2.3 私有链 3、区块链特征 4、区块链结构 5、区块链对记账权利的分配方式 5.1 POW 5.2 PoS 5.3 DPoS 6、Defi、NFT、 gameFi 7、DAPP 7.1 DAPP 的核心要素 8、比特币 8.1 比特币简介 8.2 比特币数字签名…

白话ES搜索相关性问题

之前使用es,更多的是使用term查询,和agg聚合分析。对相关性关注较少。实际上es擅长的是做模糊搜索,相关性搜索。 ES是一个开源的通用的检索工具,能满足百分之八十的需求。相关性这个问题,是一个非常有意思的问题&#…

卡尔曼滤波与组合导航原理笔记(一) 第一部分 滤波的基本概念、递推最小二乘

文章目录 一、滤波的基本概念1、传统数字滤波器2、现代控制中的状态观测器3、最优估计的含义4、温度估计的例子1.问题描述2.分析 二、递推最小二乘 课程链接:https://www.bilibili.com/video/BV11K411J7gp/?p1 参考书目:《捷联惯导算法与组合导航原理》…

搭建本地MQTT服务器实现局域网通信

在这里mqtt就不多做介绍了直接上手怎么搭建本地服务器 一-. 我们先下载一个emqx,我们可以去官网下载免费的 https://www.emqx.io/https://www.emqx.io/ 下载完成之后我们打开这个文件夹 然后进入bin目录在左上角输入cmd然后回车 如果操作成功会来到这个界面 在这…

不压缩打包layui

手动打包 下载layui源码(当前版本2.6.4),并解压缩 下载地址:layui gitee 安装nodejs(v10.24.1) 下载链接 windows-x64 安装cnpm npm install -g cnpm -registryhttps://registry.npm.taobao.org全局安…

Real3D 动画书 jQuery 插件

Real3D FlipBook jQuery Plugin 插件 新 – 用于 REAL3D 动画书 JQUERY 插件的 PDF 到图像转换器 一种将 PDF 转换为图像和 JSON 的工具,用于创建带有链接、文本搜索和文本选择的优化 PDF 活页簿。 使用图像和 JSON 创建的 PDF 动画书加载页面的速度比标准 PDF 动画…

i.MX6ULL点灯

i.MX6ULL点灯 对应底板原理图找到对应的IO引脚号 CCGR寄存器共有七个,分别是0~6。 使能时钟,CCGR0~6这7个寄存器控制着6ULL所有外设时钟的使能。 为了简单,设置CCGR0~6这7个寄存器全部为0xFFFFFFFF,相当于使能所有外设时钟。 …

springboot项目外卖管理 day01-项目搭建以及后台登陆

文章目录 一、软件开发整体介绍1.1、软件开发流程1.2、角色分工1.3、软件环境1.4、技术选型1.5、功能架构1.6、角色 二、环境搭建2.1、数据库的创建2.2、创建springboot项目并添加依赖2.3、配置yml文件2.4、将前端页面配置进resource目录![在这里插入图片描述](https://img-blo…