如何在 Linux 中隐藏 Nginx 服务器版本
在这篇简短的文章中,我们将向您展示如何在 Linux 中的错误页面和“服务器 HTTP ”响应标头字段中隐藏Nginx服务器版本。这是保护您的 Nginx HTTP 和代理服务器的关键推荐做法之一。
本指南假定您已经在系统上安装了 Nginx,或者根据您的 Linux 发行版按照以下任意教程设置了完整的 LEMP 堆栈:
- 如何在 Debian 9 Stretch 上安装 LEMP(Linux、Nginx、MariaDB、PHP-FPM)
- 如何在 FreeBSD 上安装 Nginx、MariaDB 和 PHP(FEMP)
- 如何在 16.10/16.04 中安装 Nginx、MariaDB 10、PHP 7(LEMP 堆栈)
- 在 RHEL/CentOS 7/6 和 Fedora 20-26 上安装最新的 Nginx 1.10.1、MariaDB 10 和 PHP 5.5/5.6
“ server_tokens ”指令负责在错误页面和“服务器”HTTP 响应标头字段中显示 Nginx 版本号和操作系统,如下面的屏幕截图所示。
要禁用此功能,您需要关闭/etc/nginx/nginx.conf配置文件中的server_tokens指令。
# vi /etc/nginx/nginx.conf OR $ sudo nano /etc/nginx/nginx.conf
将以下行添加到http 上下文,如下面的屏幕截图所示。
server_tokens off;
添加以上行后,保存文件并重新启动 Nginx 服务器以使新的更改生效。
# systemctl restart nginx OR $ sudo systemctl restart nginx
现在验证其是否正常工作。
注意:这只会隐藏服务器版本号,而不会隐藏服务器签名(名称)。如果要隐藏服务器名称,请从源代码编译 Nginx并包含--build=name
设置 nginx 构建名称的选项。
如果您在 Nginx 网络服务器中运行 PHP,我建议您隐藏 PHP 版本号。
为了进一步保护和强化 Nginx Web 服务器,请查看我们关于在 Linux 中保护 Nginx 的综合指南,您会发现它很有用:
在本文中,我们向您解释了如何在 Linux 中的错误页面和“服务器”HTTP 响应标头字段中隐藏 Nginx 服务器版本。如果您有任何疑问,请使用下面的评论表与我们联系。