【简单认识Nginx服务性能与安全优化】

文章详细介绍了如何配置Nginx以提高服务器安全性,包括隐藏版本号以减少攻击面,修改运行用户和组,设置网页缓存时间,日志分割,调整长连接和超时时间,以及启用网页压缩和配置防盗链机制。这些步骤有助于提升服务器性能和安全性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Nginx隐藏版本相关信息

1.隐藏版本号

1、修改 nginx.conf 文件,在http块中添加字段后,重载服务
在这里插入图片描述

2、获取报文信息并查看(浏览器查看或使用命令)
在这里插入图片描述

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

1、修改源码信息(修改完需要重新编译安装)
在这里插入图片描述

(修改的只是显示的信息,并不是真正修改版本和信息)

2、重新编译安装

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

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

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

1、修改 nginx.conf 文件
ps aux | grep nginx

2、查看nginx运行用户发生改变(默认为nobody)
在这里插入图片描述

三、配置Nginx网页缓存时间

当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度
一般针对静态网页设置,对动态网页不设置缓存时间
1、修改 nginx.conf 文件 ,在http块 或server块 或location块中添加 expires 参数
在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述

四、配置Nginx站点日志分割

1、编写脚本(因为放在后一天凌晨执行,所以获取前一天的日期)

在这里插入图片描述

2、执行并测试

在这里插入图片描述

3、加入计划任务
在这里插入图片描述

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

HTTP有一个KeepAlive模式,它告诉web服务器在处理完一个请求后保持这个TCP连接的打开状态。若接收到来自同一客户端的其它请求,服务端会利用这个未被关闭的连接,而不需要再建立一个连接。
KeepAlive 在一段时间内保持打开状态,它们会在这段时间内占用资源。占用过多就会影响性能。
1、修改 nginx.conf 文件
在这里插入图片描述

2、检查语法并重启服务
在这里插入图片描述

3、访问并查看请求报文(保持连接,且浏览器超时时间为60s)
在这里插入图片描述

keepalive_timeout
指定KeepAlive的超时时间(timeout)。指定一个长连接最多可以保持多长时间,服务器将会在这个时间后关闭连接。 Nginx的默认值是65秒,有些浏览器最多只保持 60 秒,所以可以设定为 60 秒。若将它设置为0,就禁止了keepalive 连接。
第二个参数(可选的)指定了在响应头Keep-Alive:timeout=time中的time值。这个头能够让一些浏览器主动关闭连接,这样服务器就不必去关闭连接了。没有这个参数,Nginx 不会发送 Keep-Alive 响应头。

client_header_timeout
客户端向服务端发送一个完整的 request header 的超时时间。如果客户端在指定时间内没有发送一个完整的 request header,Nginx 返回 HTTP 408(Request Timed Out)。

client_body_timeout
指定客户端与服务端建立连接后发送 request body 的超时时间。如果客户端在指定时间内没有发送任何内容,Nginx 返回 HTTP 408(Request Timed Out)。

六、配置Nginx网页压缩

Nginx的ngx_http_gzip_module压缩模块提供对文件内容压缩的功能
允许Nginx服务器将输出内容在发送客户端之前进行压缩,以节约网站带宽,提升用户的访问体验,默认已经安装

可在配置文件中加入相应的压缩功能参数对压缩性能进行优化
1、修改配置文件
在这里插入图片描述

   gzip on;							#取消注释,开启gzip压缩功能
   gzip_min_length 1k;      		#最小压缩文件大小
   gzip_buffers 4 64k;      		#压缩缓冲区,大小为4个64k缓冲区
   gzip_http_version 1.1;   		#压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
   gzip_comp_level 6;       		#压缩比率
   gzip_vary on;					#支持前端缓存服务器存储压缩页面
   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;		
   #压缩类型,表示哪些网页文档启用压缩功能

2、检查语法并重启服务
在这里插入图片描述

3、准备页面并访问测试
在这里插入图片描述

七、配置Nginx防盗链

1.模拟盗链

192.168.206.5为www.ikun.com; 192.168.206.8为www.heizi.com;

www.heizi.com模拟盗取www.ikun.com的网页图片;

使用windows主机访问两个网站。
1、配置域名解析(为了方便这里修改/etc/hosts文件)
192.168.206.5在这里插入图片描述
192.168.206.8
在这里插入图片描述
在这里插入图片描述
在www.ikun.com的首页添加图片
在这里插入图片描述
在www.heizi.com的首页盗取此站点图片
在这里插入图片描述

2.配置防盗链并测试

修改 nginx.conf 文件,如果有缓存配置,需要在缓存配置之前加上
在这里插入图片描述
在这里插入图片描述

再次访问测试www.heizi.com,无法显示图片在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值