基于CentOS7上的nginx系统优化
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,基于CentOS7上的nginx系统优化隐藏版本信息首先在CentOS7上安装好nginx服务之后,可以查看当前的nginx版本信息:[root@localhost init.d]# curl -I
千家信息网最后更新 2024年11月27日基于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安全错误
数据库的锁怎样保障安全
usb服务器管理
数据库技术的结论
会计档案管理软件开发需求
网络安全教育周心得体会
数据库模式匹配运算符
高中网络技术ABCD类型
土木软件开发工程师待遇
广东省网络安全指标
逃离塔科夫单机服务器目录
北京克林埃尔互联网科技
网络安全性社会实践报告
软件开发培训开发培训
sql删除空的数据库
上海服务器续保维修
软件开发入公安系统
山东pdu服务器专用电源厂家
天财商龙连接数据库失败
福建智能软件开发要多少钱
软件开发费用财务处理
搜搜搜网络技术怎么样
游戏服务器租用选择
怎么安全的叫服务器
软件开发测试公司如何盈利
常见的非关系型数据库类型
中信银行软件开发中心社招
数据库的数据类型text
杭州市erp软件开发
软考数据库工程师证书报名
阿里时间服务器
该数据库包括系 学生