当web服务器返回错误页时(如,404 页面无法找到,403 禁止访问页面),会在页面底部显示网站服务器签名(如,web服务器版本号和操作系统信息)。同时,当Apache2网站服务器为PHP页面服务时,它也会显示PHP的版本信息。如何在Apache2网站服务器上关闭这些网站服务器签名呢?
1.禁用web服务器信息
Apache
在Debian,Ubunt上:
$ sudo vim /etc/apache2/apache2.conf
在CentOS,Fedora,RHEL上:
$ vim/etc/httpd/conf/httpd.conf
将下面两行添加到Apache配置文件底部。
ServerSignature Off #所有错误页面上隐藏Apache版本信息。
ServerTokens Prod #在HTTP回应头部隐藏的服务器标记
nginx
修改nginx配置文件
$vim /usr/local/nginx/conf/nginx.conf
添加或者修改 http 段中server_tokens 的参数
server_tokens on;
2.隐藏PHP版本
在Debian,Ubunt上:
$ sudo vim /etc/php5/apache2/php.ini
在CentOS,Fedora,RHEL上:
$ vim /etc/php.ini
修改“expose_php = On”为
expose_php = Off
最后,重启web服务器重新加载已更新的PHP配置文件。
$ sudo service apache2 restart (Debian, Ubuntu)
$ sudo service httpd restart (CentOS/RHEL 6)
$ sudo systemctl restart httpd.service (Fedora, CentOS/RHEL 7)
$/usr/local/nginx/sbin/nginx -s reload
curl -I http://www.abc.com/ 测试
我来说说