linux怎么查看本机内存大小
274
2022-10-14
Nginx 服务安全优化---隐藏版本号、网页缓存、日志分割
实验目的
1.使用2种方法成功隐藏Nginx版本号
2.配置网页缓存时间为1天
3.设置日志分割
实验环境
已搭建Nginx服务基础,可参考6.5系统
IP地址 :192.168.100.10window 7 做客户端:192.168.100.22yum仓库已搭建,共享软件包挂载在linux下
关闭防火墙,安全性
实验步骤
隐藏Nginx服务版本号需求:
在实际生活中,需要隐藏nginx版本号,使其他人员不能针对版本进行不当操作,一定程度上增强安全功能。下面简单介绍2种方法对版本号进行设置:第一种是修改Nginx配置文件,第二种是修改Nginx源码文件。
一、方法1:隐藏版本号
1.查看版本号
[root@localhost conf]# curl -I 200 OKServer: nginx/1.2.8 #显示出版本号
2.修改配置文件
[root@localhost ~]# cd /usr/local/nginx/conf[root@localhost conf]# vim nginx.conf{ include mime.types; default_type application/octet-stream; server_tokens off; #添加此行,关闭版本号
3.再次查看版本号
[root@localhost conf]# service nginx restart[root@localhost conf]# curl -I 200 OKServer: nginx #只显示名字,已隐藏版本号
方法2:修改Nginx源码文件
4.修改版本号
[root@localhost conf]# vim /opt/nginx1.2.8/src/core/nginx.h #编辑源码文件
5.重新编译安Nginx装源码文件
[root@localhost nginx-1.2.8]# ./configure \ #重新配置--prefix=/usr/local/nginx \--user=nginx \--group=nginx \--with-conf]# make && make install #重新编译安装
6.打开版本号
[root@localhost conf]# vim nginx.conf{ include mime.types; default_type application/octet-stream; server_tokens on; #打开版本号
……
7.查看版本号
[root@localhost conf]# curl -I #查看版本号HTTP/1.1 200 OKServer: nginx/1.1.2 #版本号已修改为虚假版本号
需求:当nginx将网页数据返回给客户时,可设置缓存时间,以便日后进行相同内容的请求时可直接返回 ,避免重复请求,加快访问速度,一般针对静态资源。
二、配置网页缓存
1.用抓包图片缓存信息
2.修改配置文件
[root@localhost conf]# vim nginx.conf
……
location / { root html; index index.html index.htm;
} location ~\.{gif|jpg|jepg|png|bmp|ico)$ { #加入新的location root html; expires 1d; #指定缓存时间,这里设1天时间 } ……
3.重启Nginx
[root@localhost ~]# service nginx restart
4.抓包验证
日志切割原因:
随着nginx运行时间的增加,产生日志也会增加。而太大的日志文件对监控是一个大灾难,非常不方便分析排查,因此需要定期进行日志文件切割
三、日志分割
1.编写脚本
[root@localhost conf]# cd /usr/local/nginx/logs/access.log
[root@localhost conf]# vim /opt/fenge.sh #编写shell脚本
#!/bin/bash
# Filename:fenge.sh
d=$(date -d "-1 day" "+%Y%m%d") #获取当前时间的前一天,也就是往前推一天
logs_path="/var/log/nginx" #指定保存Ngixn日志路径
pid_path="/usr/local/nginx/logs/nginx.pid" #Nginx进程ID路径
[ -d $logs_path ] || mkdir -p $logs_path #判断定义的路径是否存在,不存在创建目录
mv /usr/local/nginx/logs/access.log $logs_path/bt.com-access.log-$d #将Nginx剪切至定义的目录下,并且用日期定义名称
kill -USR1 $(cat $pid_path) #平滑重载Nginx服务
find $logs_path -mtime +30 | xargs rm –rf #文件最后修改的时间超过30天,直接删除
2.执行脚本[root@localhost logs]# chmod +x /opt/fenge.sh #添加执行权限
[root@localhost logs]# /opt/fenge.sh #执行脚本
3.设置计划性任务,定期自动执行日志分割[root@localhost ~]# crontab –e
00 0 * * * /opt/fenge.sh #每天凌晨0点00分执行脚本,进行日志分割
4.启动计划性任务
[root@localhost ~]# service crond start
[root@localhost conf]# crontab -l #查看计划性任务
00 0 * * * /opt/fenge.sh #设置成功
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~