基于CentOS7上的nginx系统优化
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,基于CentOS7上的nginx系统优化隐藏版本信息首先在CentOS7上安装好nginx服务之后,可以查看当前的nginx版本信息:[root@localhost init.d]# curl -I
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
自由城计划如何进入服务器
进职称的数据库平台
自搭服务器干嘛用
埃森哲软件开发升职快吗
软件开发专利甲方乙方区别
服务器托管合同书范本
税控服务器管理系统怎么注册
中通快递软件开发怎么样
金融软件开发意义
删除数据库表中某条数据
网络安全宣传视频怎么设置密码
电商软件开发正规平台
数据库课程设计校园点餐
山西省公安厅网络安全总队总队长
三方 数据库 表
北京发展软件开发经历
履足互联网科技有限公司
北京潮流软件开发服务价格优惠
网民调查网络安全感
服务器8197错误
宝塔面板数据库优化插件
软件开发公司他们挣什么钱
内网服务器无法联网
网络安全法落实总结
好用的外文论文数据库
主题数据库总体架构
云服务器和自己开虚拟机
网络安全对防火墙
端口扫描与网络安全有关吗
误删数据库表