Nginx的优化——版本隐藏、超时管理、进程管理
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,配置Nginx隐藏版本号在生产环境中,需要隐藏Nginx的版本号,以减少安全隐患查看方法1、使用fiddler I具在Windows客户端查看Nginx版本号,在CentOS系统中使用"curl -I
千家信息网最后更新 2025年02月07日Nginx的优化——版本隐藏、超时管理、进程管理
配置Nginx隐藏版本号
在生产环境中,需要隐藏Nginx的版本号,以减少安全隐患
查看方法
1、使用fiddler I具在Windows客户端查看Nginx版本号,
在CentOS系统中使用"curl -I 网址"命令查看
Nginx隐藏版本号的方法
1、修改配置文件法
2、修改源码法
实验
一、修改配置文件法
1.Nginx的配置文件中的server_ tokens 选项的值设置为off
[root@www conf]# vim nginx.conf.....server_ tokens off;.....[root@www conf]# nginx -t
2、重启服务,访问网站使用curl -I命令检测
[root@www conf]# service nginx restart[root@www conf]# curl -1 http://192.1 68.9.209/HTTP/1.1200 OKServer: nginx
3.若php配置文件中配置了fastcgi param SERVER SOFTWARE选项。则编辑php-fpm配置文件,将fastcgi param SERVER SOFTWARE对应的值修改为
fastcgi_ param SERVER_ SOFTWARE nginx ;
二、修改源码法
除了将版本号进行隐藏,我们还可以给意图不轨者一个错误的版本号,修改nginx.hwen件 (缺点:需要将nginx重新进行编译安装)
[root@localhost nginx]# cd /opt/nginx-1.12.2/src/core/修改该目录下源码文件nginx.h[root@localhost core]# vim nginx.h #define NGINX_VERSION "9.9.9" 修改伪装版本号
将nginx进行重新编译安装
[root@localhost core]# cd /opt/nginx-1.12.2/[root@localhost nginx-1.12.2]# ./configure \--prefix=/usr/local/nginx \--user=nginx \--group=nginx[root@localhost nginx-1.12.2]# make && make install //重新进行编译安装[root@localhost nginx-1.12.2]# cd /usr/local/nginx/conf/[root@localhost conf]# service nginx stop //重启服务[root@localhost conf]# service nginx start
检查是否伪装成功(确保主配置文件中server_tokens on;)
[root@localhost conf]# curl -I http://192.168.142.128HTTP/1.1 200 OKServer: nginx/9.9.9 //伪装成功Date: Wed, 13 Nov 2019 08:38:17 GMTContent-Type: text/htmlContent-Length: 612Last-Modified: Wed, 13 Nov 2019 08:04:45 GMTConnection: keep-aliveETag: "5dcbb91d-264"Accept-Ranges: bytes
nginx超时时间管理
为了保证资源的最有效的利用,不被长时间不进行操作的用户所占用,因此就需要进行超时时间的管理。
1、修改主配置文件
[root@localhost conf]# pwd/usr/local/nginx/conf[root@localhost conf]# vim nginx.conf找到'keepalive_timeout',修改并在下面添加 keepalive_timeout 65 180; #前后分别为服务器端超时时间,客户端超时时间。 client_header_timeout 80; #等待客户端发送请求头的超时时间 client_body_timeout 70; #客户端发请求体超时时间[root@localhost conf]# service nginx stop [root@localhost conf]# service nginx start
nginx进程管理
1、通常默认情况下,nginx的运行进程(worker_processes)仅为1
[root@localhost conf]# ps aux | grep nginxroot 43055 0.0 0.0 20540 608 ? Ss 17:13 0:00 nginx: master process /usr/local/nginx/sbin/nginx //主进程不可改变nginx 43056 0.0 0.0 23064 1380 ? S 17:13 0:00 nginx: worker process //工作进程可以根据具体情况手动进行更改root 43189 0.0 0.0 112728 968 pts/1 S+ 17:25 0:00 grep --color=auto nginx
2、为了给有多核处理器的服务器有更高的处理效率,我们需要对进程进行修改(本次实验环境为2核服务器)
[root@localhost conf]# pwd/usr/local/nginx/conf[root@localhost conf]# vim nginx.conf搜索'worker_processes',并添加 worker_processes 2; #修改为与cpu数量相同 worker_cpu_affinity 01 10; #设置每个进程由不同cpu处理[root@localhost conf]# service nginx stop #重启服务[root@localhost conf]# service nginx start
3、此时,我们再次查看nginx的进程(会拥有两条工作进程)
[root@localhost conf]# ps aux | grep nginxroot 43353 0.0 0.0 20540 604 ? Ss 17:36 0:00 nginx: master process /usr/local/nginx/sbin/nginxnginx 43354 0.0 0.0 23064 1372 ? S 17:36 0:00 nginx: worker processnginx 43355 0.0 0.0 23064 1364 ? S 17:36 0:00 nginx: worker processroot 43367 0.0 0.0 112728 972 pts/1 S+ 17:37 0:00 grep --color=auto nginx
今天的内容已上完!!!
配置
进程
文件
版本
时间
服务
客户
客户端
管理
服务器
源码
处理
编译
成功
命令
情况
方法
环境
实验
工作
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
金融级数据库集群
安徽创新网络技术有限公司
拉格朗日服务器满了怎么办
网络技术管理法
数据库导出的数据前边的0没有了
曼诺特互联网科技有限公司
app软件开发培训中心
山东省春季技能考试网络技术
实况数据库小程序叫什么
数据库安全与权限授予分析
摄像头存储服务器开源
防范网络安全风险发言
青海天纵网络技术公司
税务网络安全规定
海淀区网络技术市场报价
探途网络技术有限公司花生日记
海康远程服务器重开资源管理器
有看头db数据库
网络安全技术要学什么
软件开发测试 平台
铜川网络技术费用
脂肽化合物质荷比数据库
惠州网络安全哪家强
计算机网络技术可以考哪些公务员
依法上网共筑网络安全网
服务器开机后风扇会转吗
mysql查询数据库名
湖北专业软件开发价格优惠
软件开发免所得税
四川省金融网络安全知识竞赛