nginx.2——优化和防盗链

news2025/7/20 17:26:36

1、隐藏版本号

bug多。更新版本速度比较快,所以一旦版本号暴露出去,有可能给对方提供攻击的漏洞。

方法一

vim /usr/local/nginx/conf/nginx.conf
开server_tokens on;

server_tokens off;

在http大模块中修改,不再server中,也不是location

方法二

cd 源码包路径/src/core/
vim nginx.h


13行 14行
重新编译安装:make && make install

2、nginx日志分割


nginx 没有自带的日志分割功能,靠脚本实现

按照时间分割,每天一个日期

#!/bin/bash

#按照时间来进行分割,每天都生成一个新的日志。
#获取日期
d=$(date +%Y-%m-%d)

#找到nginx日志的存储位置
dir="/usr/local/nginx/logs"

#定义分割的源日志
logs_file='/usr/local/nginx/logs/access.log'
logs_error='/usr/local/nginx/logs/error.log'

#定义nginx的PID文件
pid_file='/usr/local/nginx/run/nginx.pid'

if [ ! -d "$dir" ]
then
  mkdir -p $dir
fi

#移动日志并重命名日志文件

mv ${logs_file} ${dir}/access_${d}.log

#mv /usr/local/nginx/logs/access.log /usr/local/nginx/logs/access_2023-10-12.log

mv ${logs_error} ${dir}/error_${d}.log


#发送信号给nginx主进程,让nginx重新生成一个新的日志文件

kill -USR1 $(cat ${pid_file})

#USR1 生成一个新的日志 cat /usr/local/nginx/run/nginx.pid


#日志清理 日志清理原则:业务日志一般保留30天。数据库日志,保留2年。用户信息加密,而且要永久保存。高可用。
#业务日志如果最近无重大事项,保留10天之内的也可以,但是要申请批准。

find $dir -mtime +30 -exec rm -rf {} \;

3、网页压缩

nginx:

http_gzip_static_module 可以对文件内容和图片进行压缩的功能,节约宽带

vim /usr/local/nginx/conf/nginx.conf

1、取消注释
gzip on;

2、如果文件的大小是1k,不再进行压缩处理
gzip_min_length 1k;

3、gzip_comp_level 6;
压缩级别: 压缩比率 1-9 1是速度快,压缩比最低,9压缩的速度最慢,但是压缩比最高,默认是1.

4、gzip_vary on;
前端的缓存也可以支持压缩

5、gzip_types text/plain image/gif image/jpg;

支持的文件
可添加:gzip_types、text/plain、text/javascript、application/x-javascript text/css、text/xml、application/xml、application/xml+rss、image/jpg、image/jpeg、image/png 、image/gif、application/x-httpd-php、application/javascript、application/json

4、nginx的图片缓存时间

可以在日后访问时,不需要经常的向后台请求数据,加快访问速度
一般是针对静态页面

在vim /usr/local/nginx/conf/nginx.conf下
取消注释
gzip on;

5、连接超时

vim /usr/local/nginx/conf/nginx.conf
keepalive_timeout  65;
会话保持时间正常情况下60--120s

client_header_timeout 80;
客户端向服务端发送一个requset header 的超时时间如果客户端没有在80秒内发送一个请求头,nginx将会返回408.request time out;

client_body_timeout 80;
客户端于服务端建立连接之后发送request body的超时时间
80秒内,客户端没有发送任何内容,nginx 408 request time out

6、nginx的并发设置

在高并发的场景下,需要nginx启动更多的进程来保证快速响应
根据cpu的核心数,调整nginx的工作进程数。

worker_processes  1;
8个以上性能不会提升,可能会降低性能,性能稳定性下降
正常情况下 4个cpu 15000个并发量,并发量单台最多65535
worker_connections  1024;

还要修改/etc/security/limits.conf

把进程绑定cpu上,减少cpu之间的切换。提高效率

TIME_WAIT大量出现,该如何优化???

time_wait 是tcp连接状态中的一种,不是报错!出现四次挥手之后。
在time wait状态下,tpc处于连接等待状态,等待有一个持续时间 http1.1会话保持。
        1、确保可靠的关闭连接         

        2、避免连接复用
进入time_wait之后,一短时间之后,会自动消失。且占用用资源小,对服务性能的影响有限。

vim /etc/sysctl.conf 内核配置文件

net.ipv4.tcp_syncookies = 1
#表示开SYN cookies
当出现SYN等待队列溢出时,启用cookies处理syn队列,默认是0 。1开启。
net.ipv4.tcp_tw_reuse = 1 
#time_wait状态可以重用,一个连接就要占用一个端口,time_wait把所有的端口全部占满了,新的连接请求也不会拒绝。
net.ipv4.tcp_tw_recycle = 1
#让time_wait尽快回收。
net.ipv4.tcp_fin_timeout = 60 
# 所有time_wait 最大的生命周期60秒。 

7、nginx的内置变量:打印结果

1、$remote_addr 客户端的ip地址

2、$remote_port 显示客户端的端口号

3、$uri: 显示请求的uri nginx的家目录

4、$hosts:打印本机地址

5、$request_method:显示请求的方法

重要的变量

1.proxy_set_header X-Forwarded-for $remote addr
代理服务器会设置这个变量,客户端要发送给后端,否则代理服务器地址会被拉入黑名单。
2.proxy_set_header X-Real-IP $remote_addr
客户端的真是ip,发送给后端,现在所有的网站都会要求客户端请求时,加上真实ip

 

8、防盗链:

防止盗用本站的图片

(也就是:防止有人以www.kgc.com/ls.jpg的方式调用本站uri路径的图片)
vim /usr/local/nginx/conf/nginx.conf

valid_referers :设置信任的网站
kgc.com www.kgc.com
*.kgc.com
none: 允许没有http_refer的请求访问资源,请求url里面可以不包含refer,不带uri
说明:
如果要访问www.kgc.com/ls.jpg
访问www.kgc.com接等于要访问www.kgc.com/ls.jpg

blocked:请求网站时,前面可以不带协议
http://www.baidu.com/
可以不写http协议,可以直接写www.baidu.com/

if语句
如果连接资源不是来自上面valid——referers 定义的信任列表,svalid referer变为true,执行重定向rewrite ^/ http://www.kgc.com/error.png;
也就是说只有kgc.com可以访问www.kgc.com/ls.jpg;如果不是kgc.com访问,$invalid_referer就会是true,执行http://www.kgc.com/error.png这个

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

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

相关文章

腾讯云最新优惠活动入口整理分享

腾讯云作为国内知名的云计算服务提供商,一直以来都为广大的个人用户和企业用户提供优质、稳定、安全的云服务。为了帮助大家更好地利用腾讯云,下面为大家整理分享一些腾讯云的最新优惠活动入口,希望能够为大家带来一些帮助和便利。 一、腾讯云…

误删除数据恢复?恢复数据,这3个方法足够!

“我已经遇到很多次数据误删除的情况了!每次都要重写文件。但是这次的文件比较紧急,重写肯定来不及了,想问问大家有没有什么误删除数据恢复的方法呀?” 在使用电脑时,很多用户都不可避免会出现误删数据的情况。面对重要…

基于模型预测人工势场的船舶运动规划方法,考虑复杂遭遇场景下的COLREG(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

YOLOv5算法改进(7)— 添加单层注意力机制(包括代码+添加步骤+网络结构图)

前言:Hello大家好,我是小哥谈。注意力机制是近年来深度学习领域内的研究热点,可以帮助模型更好地关注重要的特征,从而提高模型的性能。注意力机制可被应用于模型的不同层级,以便更好地捕捉图像中的细节和特征,这种模型在计算资源有限的情况下,可以实现更好的性能和效率。…

TrustZone

TrustZone技术 让我们从最重要的问题开始:为什么存在TrustZone技术,它防御什么?保护用 C 和 C 编写的大型程序免受黑客攻击可能是一个挑战。内存损坏漏洞是一个常见问题,尽管消除它们是安全工程师的核心目标,但从操作…

AI_Neural Network_Note(一)

Input Data / Feature textimageaudiosensor data For RGB Image 三维矩阵 64 * 64 *3 每个element都对应着一个像素点的颜色值 Definition RGB 图像 ——三个独立的矩阵(即三个二维数组),这三个矩阵分别与此图像的红色Red、绿色Green和…

YOLO目标检测——安全帽手套数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用:主要应用于监控视频中工作人员是否佩戴安全帽或手套的场景。数据集说明:YOLO目标检测数据集,类别有:手套、头盔、非头盔、人、鞋、背心、赤膊,真实场景的高质量图片数据,数据场景丰富。使用la…

【MyBatis系列】- 什么是MyBatis

【MyBatis系列】- 什么是MyBatis 文章目录 【MyBatis系列】- 什么是MyBatis一、学习MyBatis知识必备1.1 学习环境准备1.2 学习前掌握知识二、什么是MyBatis三、持久层是什么3.1 为什么需要持久化服务3.2 持久层四、Mybatis的作用五、MyBatis的优点六、参考文档一、学习MyBatis知…

LDMOS与VDMOS概述

目录 组会PPT展示(10.13)LDMOS器件概述VDMOS器件概述前景展望 组会PPT展示(10.13) LDMOS器件概述 VDMOS器件概述 前景展望

【代码随想录】算法训练营 第四天 第二章 链表 Part 2

24. 两两交换链表中的节点 思路 为了使得头结点的处理不用特殊化,所以依然设置一个虚拟头结点dummy,每次要交换的时候都要判断接下来的两个结点是否为空结点,即nullptr,若非空即可交换; 交换的时候,用一个…

基于springboot实现汉服文化分享平台项目【项目源码+论文说明】

摘要 本论文主要论述了如何使用JAVA语言开发一个汉服文化平台网站 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述汉服文化平台网站的当前背景以及系统开发的…

PostgreSQL性能调优:优化查询和索引设计

随着数据量的增长和业务需求的变化,数据库性能成为了许多企业关注的焦点之一。在众多的数据库管理系统中,PostgreSQL因其稳定性和可靠性而备受青睐。然而,即使是最强大的系统也需要合适的调优,以确保其能够高效地处理大规模数据和…

离线 notepad++ 添加到右键菜单

复制下面代码,修改文件后缀名为:reg Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\NotePad] "Notepad" "Icon""D:\\Notepad\\notepad.exe,0"[HKEY_CLASSES_ROOT\*\shell\NotePad\Command] "D:\…

从旅游发展大会,看长沙的“落子”与“棋道”

文|新熔财经 作者|石榴 中秋国庆假期作为今年的最后一个小长假,全国各地果断祭出自己的“杀手锏”,不过,虽是百花齐放,但星城长沙仍然是最亮眼的存在之一。 全省文化旅游统计监测系统显示,中…

基于梯度优化的BP神经网络(分类应用) - 附代码

基于梯度优化的BP神经网络(分类应用) - 附代码 文章目录 基于梯度优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.梯度优化BP神经网络3.1 BP神经网络参数设置3.2 梯度算法应用 4.测试结果:5.M…

安科瑞为工业能效提升行动计划提供EMS解决方案

安科瑞 崔丽洁 摘要 2022年6月29日工信部、发改委、财政部、生态环境部、国资委、市场监管总局六部门联合下发《关于印发工业能效提升行动计划的通知》(工信部联节〔2022〕76号,以下简称《行动计划》),主要目的是为了提高工业领域…

HTML三叉戟,标签、元素、属性各个的意义是什么?

🌟🌟🌟 专栏详解 🎉 🎉 🎉 欢迎来到前端开发之旅专栏! 不管你是完全小白,还是有一点经验的开发者,在这里你会了解到最简单易懂的语言,与你分享有关前端技术和…

基于水基湍流优化的BP神经网络(分类应用) - 附代码

基于水基湍流优化的BP神经网络(分类应用) - 附代码 文章目录 基于水基湍流优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.水基湍流优化BP神经网络3.1 BP神经网络参数设置3.2 水基湍流算法应用 4.测试结果…

视频监控管理平台EasyCVR二级菜单隐藏后,鼠标悬浮时菜单名称不显示该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台可拓展性强、…

测试工程师应具备何种心态?

无论是在工作或是在生活当中,心态一词,常常被提及,而我们也经常听到各种各样的声音,要保持一个良好的心态等等。但是通常都是一些比较飘渺的说法,因为是相对统一和总论式的概述,并不是针对特定情况下的论述…