隐藏http返回消息头中的Apache及PHP信息

搬家之后注意到的一个小细节,之前用lighttpd时没太在意这个细节,今天发现了博客http返回头里有些不必要的信息,比如:

Server: Apache 2.4.XXX OpenSSL XXX
X-Powered-By: PHP/X.X.XX

顺手查了下隐藏掉的方法:

首先是Apache的,修改配置文件 /etc/httpd/conf/httpd.conf,加入

ServerTokens Prod
ServerSignature Off

重启httpd服务即可,接下来是PHP,修改配置文件/etc/php.ini,找到

;;;;;;;;;;;;;;;;;
; Miscellaneous ;
;;;;;;;;;;;;;;;;;

; Decides whether PHP may expose the fact that it is installed on the server
; (e.g. by adding its signature to the Web server header). It is no security
; threat in any way, but it makes it possible to determine whether you use PHP
; on your server or not.
; http://php.net/expose-php
expose_php = On

修改为Off,重启即可(我用的php-fpm所以需要重启此服务,如果是mod_php之类的话应该重启下http服务器即可)。
全部完成后可以用curl测试下: curl -I https://blog.k-res.net,得到如下结果:

HTTP/1.1 200 OK
Date: Mon, 03 Dec 2018 13:17:36 GMT
Server: Apache
Link: ; rel=”https://api.w.org/”
Upgrade: h2,h2c
Connection: Upgrade
Content-Type: text/html; charset=UTF-8

没有多余的信息了

博主友情提示:

如您在评论中需要提及如QQ号、电子邮件地址或其他隐私敏感信息,欢迎使用>>博主专用加密工具v3<<处理后发布,原文只有博主可以看到。