欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何隐藏掉Nginx的版本号

程序员文章站 2024-04-03 11:48:40
...
  最近新学习了一个命令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/里面的服务启动脚本的名字

以上就介绍了如何隐藏掉Nginx的版本号,包括了漏洞方面的内容,希望对PHP教程有兴趣的朋友有所帮助。