基于CentOS7上的nginx系统优化
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,基于CentOS7上的nginx系统优化隐藏版本信息首先在CentOS7上安装好nginx服务之后,可以查看当前的nginx版本信息:[root@localhost init.d]# curl -I
千家信息网最后更新 2025年02月02日基于CentOS7上的nginx系统优化
基于CentOS7上的nginx系统优化
隐藏版本信息
首先在CentOS7上安装好nginx服务之后,可以查看当前的nginx版本信息:
[root@localhost init.d]# curl -I http://192.168.234.174 //查看当前版本信息HTTP/1.1 200 OKServer: nginx/1.12.0 //当前的nginx版本信息Date: Sat, 30 Jun 2018 06:23:15 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Sat, 30 Jun 2018 06:17:15 GMTConnection: keep-aliveETag: "5b37206b-264"Accept-Ranges: bytes
为了避免版本信息泄露,从而导致不必要的麻烦,下面介绍两种隐藏版本信息的方法:
基于已经安装好nginx服务的方法
修改nginx的主配置文件
[root@localhost init.d]# vim /usr/local/nginx/conf/nginx.conf..... 省略http { include mime.types; default_type application/octet-stream; server_tokens off; //添加关闭版本显示
重新加载nginx的配置,并且再次查看版本信息
[root@localhost init.d]# service nginx reload //重新加载nginx的配置文件[root@localhost init.d]# curl -I http://192.168.234.174HTTP/1.1 200 OKServer: nginx //这里可以看到当前的版本信息已经被隐藏起来了Date: Sat, 30 Jun 2018 06:35:14 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Sat, 30 Jun 2018 06:17:15 GMTConnection: keep-aliveETag: "5b37206b-264"Accept-Ranges: bytes
基于nginx服务尚未安装的方法
首先修改nginx的源代码,使别人误认为我们使用的是别的版本
[root@localhost init.d]# vim /opt/nginx-1.12.0/src/core/nginx.h //修改源代码包... ...省略#define nginx_version 1012000#define NGINX_VERSION "1.12.0" //修改为1.1.1
然后进行编译安装
[root@localhost init.d]# cd /opt/nginx-1.12.0/[root@localhost nginx-1.12.0]# ./configure \ > --prefix=/usr/local/nginx \> --user=nginx \> --group=nginx \> --with-http_stub_status_module //编译安装[root@localhost nginx-1.12.0]# make && make install[root@localhost conf]# vim nginx.confhttp { include mime.types; default_type application/octet-stream; server_tokens on; //开启显示版本信息[root@localhost conf]# service nginx stop[root@localhost conf]# service nginx start //重新启动nginx服务[root@localhost conf]# curl -I http://192.168.234.174HTTP/1.1 200 OKServer: nginx/1.1.1 //可以看到nginx的版本信息就被篡改了Date: Sat, 30 Jun 2018 07:03:56 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Sat, 30 Jun 2018 06:17:15 GMTConnection: keep-aliveETag: "5b37206b-264"Accept-Ranges: bytes
修改用户和组
[root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf#user nobody; //nobody修改为nginx nginx;
修改缓存时间
[root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf... ... 省略 location / { root html; index index.html index.htm; } //在下面添加 location ~\.(gif|jpg|jepg|png|bmp|ico)$ { root html; expires 1d; }[root@localhost conf]# cd /usr/local/nginx/html/[root@localhost html]# cp /abc/Apache/ai.jpg /usr/local/nginx/html/ //复制一张图片到html站点的目录下[root@localhost html]# service nginx stop[root@localhost html]# service nginx start //重启nginx服务
然后此时使用一台安装了fiddler工具的win7客户机去访问nginx服务器
然后就可以看到这里图片的缓存时间已经被修改为一天了
日志分割
[root@localhost ~]# vim /opt/fenge.sh#!/bin/bash #Filename:fenge.shd=$(date -d "-1 day" "+%Y%m%d") #显示一天前的时间logs_path="/var/log/nginx" #分割日志的保存路径pid_path="/usr/local/nginx/logs/nginx.pid" #日志的进程序列号[ -d $logs_path ] || mkdir -p $logs_path mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d#将访问日志移动到根据日期每天生成不同的日志文件kill -USR1 $(cat $pid_path) #中断日志文件的创建,方便下一次在依次剪切移动find $logs_path -mtime +30 | xargs rm -rf #将30天之前的日志文件删除[root@localhost opt]# chmod +x fenge.sh //给与日志分割脚本一个执行权限[root@localhost opt]# ./fenge.sh //执行脚本[root@localhost opt]# cd /var/log/nginx/ //查看nginx的日志文件[root@localhost nginx]# lstest.com-access.log-20180629 //这里就会产生一个前一天的日志文件
这里还可以添加为周期性计划任务
[root@localhost nginx]# crontab -e0 1 * * * /opt/fenge.sh //这样日志分割任务就会周期性的生成,就不需要我们每天都手动执行一遍脚本了
连接超时
[root@localhost nginx]# vim /usr/local/nginx/conf/nginx.conf... ... 省略 #keepalive_timeout 0; keepalive_timeout 65; //删除此行,并在下面添加 keepalive_timeout 65 180; client_header_timeout 80; client_body_timeout 80;[root@localhost nginx]# nginx -t //检查语法[root@localhost nginx]# service nginx stop [root@localhost nginx]# service nginx start //重启nginxfuwu
然后此时同样使用装有一台安装了fiddler工具的win7客户机去访问nginx服务器
防盗链
首先在进行防盗链配置时,我们要先准备两台win7客户机(网卡模式是NAT,IP地址自动获取),一台(win7)进行盗链操作,另一台(win7-1)做访问端
开始进行盗用链接配置,首先盗链端(win7)开启IIS服务,并且写入一个首页内容
this is test!!!
//首页内容 //进行盗链的网站和图片
然后在CentOS7上安装DNS服务,并且修改配置
[root@localhost nginx]# yum install bind -y[root@localhost nginx]# vim /etc/named.conf //修改主配置文件listen-on port 53 { 127.0.0.1; }; //127.0.0.1修改为anyallow-query { localhost; }; //localhost修改为any[root@localhost nginx]# vim /etc/named.rfc1912.zones //修改区域配置文件//添加下面的配置zone "benet.com" IN { type master; file "benet.com.zone"; allow-update { none; };};zone "test.com" IN { type master; file "test.com.zone"; allow-update { none; };};[root@localhost nginx]# cd /var/named/[root@localhost named]# cp -p named.localhost benet.com.zone[root@localhost named]# vim benet.com.zone //修改区域数据库文件删除末行,添加www IN A 192.168.234.174 //解析指向nginx服务器的IP[root@bogon named]# cp -p benet.com.zone test.com.zone[root@localhost named]# vim test.com.zone修改末行的www 后的解析地址,指向盗链服务器的IP,即www IN A 192.168.234.180 //这里是win7的IP
这里盗链的操作就完成了,我们可以看下效果
访问www.test.com
访问www.benet.com
接下来配置防盗链配置
[root@bogon html]# vim /usr/local/nginx/conf/nginx.conf... ...省略 添加//location ~*\.(jpg|gif|swf)$ { valid_referers none blocked *.benet.com benet.com; if ( $invalid_referer ) { rewrite ^/ http://www.benet.com/error.png; } }[root@bogon named]# cd /usr/local/nginx/html/[root@bogon html]# cp /abc/LNMP/error.png ./ //添加一张重定向的图片[root@bogon html]# service nginx stop[root@bogon html]# service nginx start //重启nginx服务
防盗链操作完成后,我们在来使用win7-1客户机访问查看效果(访问前先清空缓存):
访问www.test.com
访问www.benet.com
这样防盗链就完成了。
以上就是CentOS7上nginx的所有优化配置了,请各位看官多多点评与点赞!!!
版本
服务
配置
日志
信息
文件
防盗
图片
客户
客户机
服务器
方法
时间
缓存
脚本
任务
内容
区域
周期
周期性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
英语数据库管理系统
海南优鹿互联网有限科技公司
视图会影响数据库吗
西安拾柒网络技术中心
都有哪些公司做网络安全
金融业网络安全保护
中卫软件开发报价
怎样提升中学生网络安全意识
互联网科技公司20周年庆
软件开发资质需要什么
软件开发信息技术有限公司账务
下列情况违反网络安全法的有
关于学校网络安全的简报
软件开发工作分配
电脑怎么进入中国移动服务器
网络安全编程书籍
中职网络安全技能大赛视频
火鸟数据库什么用
软件开发与项目管理专业好不好
北京正规软件开发配件
烟台盈辉网络技术有限公司
db2数据库收回创建表权限
工业机器人计算机网络技术
mysql数据库怎么用
根据网络安全法网络运营者之
网络安全专家 韩利勇
医学数据库系统介绍
双创网络安全教育
西安什伯网络技术
凡科互联网科技有限公司电话