必须在主配置文件中设置servertokens prod和serversignature off:前者使响应头仅显示“server: apache”,后者禁用错误页底部服务器信息;二者均不支持虚拟主机内配置,且需配合expose_php=off、header unset server及cdn/代理层清理才能彻底隐藏。

ServerName 本身不用于隐藏版本号,它只是用来定义当前虚拟主机的主域名(如 ServerName example.com),和版本信息无关。你真正需要配置的是另外两个指令:ServerTokens 和 ServerSignature。
要彻底隐藏 Apache 版本号、操作系统、模块等敏感信息,需在 Apache 主配置文件(如 /usr/local/apache/conf/httpd.conf 或 /etc/httpd/conf/httpd.conf)中设置:
ServerTokens Prod ServerSignature Off
✅ 效果说明:
PHP中文网提供Apache 2.4.62 官方 tar.gz 源码包下载,通过源码编译安装,开发者能够灵活定制模块、优化性能并精准控制安装路径,满足多样化的业务需求。
-
ServerTokens Prod→ HTTP 响应头中只显示Server: Apache,不带版本、系统、模块等任何细节 -
ServerSignature Off→ 所有默认错误页面(如 404、500)页脚不再显示服务器版本和操作系统信息
⚠️ 注意事项:
- 这两个指令必须放在全局配置块(
<virtualhost></virtualhost>外)才对整个服务生效;若写在<virtualhost></virtualhost>内,仅对该虚拟主机生效 - 修改后需重启 Apache 生效:
apachectl restart # 或 systemctl restart httpd
- 可用
curl -I https://your-domain.com验证响应头是否只剩Server: Apache
额外建议(提升安全性):
- 删除默认测试页(如
index.html)、图标目录(icons/) - 禁用目录浏览:确保配置中无
Options Indexes,或显式写成Options FollowSymLinks - 隐藏 PHP 版本:在
php.ini中设expose_php = Off,并重启 Apache
不复杂但容易忽略。










