Nginx的优化——版本隐藏、超时管理、进程管理
发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,配置Nginx隐藏版本号在生产环境中,需要隐藏Nginx的版本号,以减少安全隐患查看方法1、使用fiddler I具在Windows客户端查看Nginx版本号,在CentOS系统中使用"curl -I
千家信息网最后更新 2024年11月27日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安全错误
数据库的锁怎样保障安全
软件开发工作流程控制
500 服务器内部错误
百度网页连不上服务器怎么办
学数据库的决心
青浦区网络软件开发卖价
笔记本域名服务器地址
多活容灾数据库
F1数据库团队
对非遗数据库展示
用友u8在哪里清理数据库
2022年tbc联盟优势服务器
使命召唤战争地带哪个服务器不卡
论文哪里可以查万方数据库
游戏服务器关闭了游戏装备怎么办
软件开发设计注意点
欧美硕博论文数据库
会英网络技术有限公司怎么样
华东互联网科技有限公司
防城港市app软件开发平台
珠海澳仕玛互联网科技有限公司
珠海支付软件开发公司
虎林软件开发文档在线咨询
软件开发中的财务风险
服务器在哪查
1328485网络安全建议有
公开数据库的图表在哪里有
软件开发可以转ai
高达征服连接哪个服务器
腾讯足球世界手游服务器
无锡海航软件开发诚信合作