Nginx优化---隐藏版本号与网页缓存时间
配置Nginx隐藏版本号
在生产环境中,需要隐藏Nginx的版本号,以避免安全
漏洞的泄漏
查看方法
●使用fiddler I具在Windows客户端查看Nginx版本号
在CentOS系统中使用“curl -I 网址”命令查看
Nginx隐藏版本号的方法
●修改配置文件法
●修改源码法
修改配置文件法
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源码文件/usr/src/nginx-1.12.0/src/core/nginx.h包含了版本信息,可以随意设置重新编译安装,隐藏版本信息
示例:
#define NGINX_ _VERSION“1.1.1” ,修改版本号为1.1.1#define NGINX_ VER "IIS/" ,修改软件类型为IIS
重启服务,访问网站使用curl -I命令检测
修改Nginx用户与组
Nginx运行时进程需要有用户与组的支持,以实现对网站文件读取时进行访问控制
Nginx默认使用nobody用户账号与组账号,一般也要进行修改
修改的方法
●编译安装时指定用户与组
●修改配置文件指定用户与组
修改配置文件法指定
1.新建用户账号,如nginx
2.修改主配置文件user选项,指定用户账号
3.重启nginx服务,使配置生效
4.使用ps aux命令查看nginx的进程信息,验证运行用户
账号改变效果
[root@www conf]# vi nginx.confuser nginx nginx;[root@www conf]# service nginx restart[root@www conf]# ps aux lgrep nginxroot 1300340.0 0.0 20220 620? Ss 19:41 0:00 nginx: master process/usr/local/sbin/nginxnginx 1300350.0 0.0 20664 1512 ?S 19:41 0:00 nginx: worker process
配置Nginx网页缓存时间
当Nginx将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容的请求时直接返回,避免重复请求,加快了访问速度般针对静态网页设置,对动态网页不设置缓存时间,可在Windows客户端中使用fiddler查看网页缓存时间
设置方法
可修改配置文件,在http段、 或者server段、 或者location段加入对特定内容的过期参数
示例
修改Nginx的配置文件,在location段加入expires参数
location ~ /.(gifjpgliepglpnglbmplico)$ {root html;expires 1d;
隐藏版本号实例演示
一、编译安装Nginx服务
第一步:远程获取Windows上的源码包,并挂载到Linux上
[root@localhost ~]# smbclient -L //192.168.235.1Enter SAMBA/root's password: Sharename Type Comment--------- ---- -------LNMP Disk [root@localhost ~]# mkdir /abc[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abcPassword for root@//192.168.235.1/LNMP: [root@localhost ~]# ls /abcDiscuz_X3.4_SC_UTF8.zip nginx-1.12.2.tar.gzgame.jpg php-7.1.10.tar.bz2mysql-boost-5.7.20.tar.gz php-7.1.20.tar.gznginx-1.12.0.tar.gz
新闻热点
疑难解答