基于CentOS7上的nginx系统优化
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,基于CentOS7上的nginx系统优化隐藏版本信息首先在CentOS7上安装好nginx服务之后,可以查看当前的nginx版本信息:[root@localhost init.d]# curl -I
千家信息网最后更新 2024年09月22日基于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安全错误
数据库的锁怎样保障安全
标签非关系型数据库
优质的即时通讯软件开发
连接代理服务器被拒绝
陕西浪潮服务器虚拟化操作云主机
云服务器扩展电脑性能
女装工时工价数据库
路由器的服务器怎么设最好
佛山金融软件开发
关于网络安全 手抄报4年级
数据库修改表内容
新时达服务器故障大全
西安软件开发都在哪里
禁毒提高网络安全
湖北惠停互联网科技有限公司
股票公司用什么软件开发
数据库多级模式结构
浪潮软件开发测试怎么样
工银瑞信软件开发
手机手机软件开发
电脑变免流服务器
数据库完整性四大类型
数据库主要数据文件能有多少个
网络安全方面投入多少
数据库恢复原样
数据库编程需要学会c吗
苹果数据库安全性
数据库提取图层
服务器挖矿活动
数据库补丁下载.
阿里服务器一般放在哪里