Rumah >pembangunan bahagian belakang >tutorial php >如何隐藏掉Nginx的版本号,隐藏掉Nginx版本号_PHP教程
最近新学习了一个命令curl,里面有一个参数-I可以查看到网站使用的是哪种服务器,比如:
zhangxiaoliudeMacBook-Pro-2:~ zhangxiaoliu$ curl -I http://nginx.org/
HTTP/1.1 200 OK
Server: nginx/1.9.8
Date: Fri, 18 Dec 2015 06:30:33 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 8347
Last-Modified: Wed, 09 Dec 2015 15:07:16 GMT
Connection: keep-alive
Keep-Alive: timeout=15
ETag: "566843a4-209b"
Accept-Ranges: bytes
可以看得到Nginx官方现在使用的版本是1.9.8的,每个版本的nginx可能会有一些漏洞,所以,从安全的角度来说,隐藏版本号会相对安全些!
第一步:修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf (配置文件的路径由安装nginx的目录决定,每个人的并不相同,由于部分初学者不懂就会复制粘贴然后执行,后果很严重的,对于不懂的命令千万不要执行!!!),在tcp_nodelay on;后面(或前面)添加server_tokens off;
第二步:修改php-fpm配置文件
php-fpm配置文件的名字叫fastcgi.conf或fcgi.conf,vim /usr/local/nginx/conf/fastcgi.conf (和nginx.conf在同一个目录下),使用vim命令“:/SERVER_SOFTWARE”,找到:fastcgi_param SERVER_SOFTWARE nginx/$nginx_version; 去掉“/$nginx_version”。
第三步:重新启动nginx服务
service nginx reload (reload无间断服务重启,或者使用/etc/init.d/nginx reload,/etc/init.d/里面都是服务启动脚本,是shell脚本),有人可能会说不是使用service nginxd reload ,到底是使用nginxd还是nginx,具体要看/etc/init.d/里面的服务启动脚本的名字