隐藏nginx、apache和php的版本号
隐藏 nginx 版本号
两个地方容易暴露 nginx 版本号
1.HTTP header
curl -I www.nginx.org
#查看HTTP header
2.Nginx 出错页面(403,404,503,502 之类)
不过幸运的是对于这两个地方的版本号隐藏,Nginx 都提供了简单的办法一步到位。
通过在配置文件的 http 节配置 server_tokens off
来达到我们目的
1、打开 Nginx 主配置文件:nginx.conf,取消注释或添加配置语句。
server_tokens off; #默认是注释掉的或直接没有
2、编辑 php-fpm 配置文件
配置文件名 fastcgi.conf 或 fcgi.conf, 这个配置文件名也可以自定义的,根据具体文件名修改:
#找到路径
find / -name fastcgi.conf
#编辑
#fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
#改成
fastcgi_param SERVER_SOFTWARE nginx;
3、重新加载 nginx 配置
# nginx -t
# nginx -s reload
隐藏 apache 版本号
conf 目录下修改 httpd.conf
ServerTokens Prod
ServerSignature Off
重启 Apache 服务
httpd -t
service httpd restart
# 或者(服务状态不正常,不能直接重启的情况下)
pkill httpd
service httpd start
隐藏 php 版本号
修改 php.ini
文件,一般在 php/lib
或者 php/etc
中
expose_php = Off
当 php 以 fastcgi 形式运行时,需要 重启 PHP-FPM 服务(或者进程)。
[notice]测试发现,使用 apache 服务器(php 以模块形式加载),仅修改 php.ini 配置文件中的 expose_php 并不能阻止 X-Power 展示 php 版本,还需要重启 httpd 服务才行(pkill httpd 杀死所有进程,再启动服务)[/notice]