网站搜索

如何在 Linux 中隐藏 Nginx 服务器版本


在这篇短文中,我们将向您展示如何在 Linux 中的错误页面和“Server HTTP”响应标头字段中隐藏 Nginx 服务器版本。这是保护 Nginx HTTP 和代理服务器的关键推荐实践之一。

另请阅读:如何隐藏 Apache 版本号和其他敏感信息

本指南假设您已经在系统上安装了 Nginx,或者根据您的 Linux 发行版按照以下任意教程设置了完整的 LEMP 堆栈:

  1. 如何在 Debian 9 Stretch 上安装 LEMP(Linux、Nginx、MariaDB、PHP-FPM)
  2. 如何在 FreeBSD 上安装 Nginx、MariaDB 和 PHP (FEMP) 堆栈
  3. 如何在 16.10/16.04 中安装 Nginx、MariaDB 10、PHP 7 (LEMP Stack)
  4. 在 RHEL/CentOS 7/6 和 Fedora 20-26 上安装最新的 Nginx 1.10.1、MariaDB 10 和 PHP 5.5/5.6

server_tokens”指令负责在错误页面和“Server”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 Web 服务器中运行 PHP,我建议您隐藏 PHP 版本号。

要进一步保护和强化 Nginx Web 服务器,请查看我们在 Linux 中保护 Nginx 的综合指南,您会发现它很有用:

  1. 保护、强化和提高 Nginx Web 服务器性能的终极指南

在本文中,我们向您解释了如何在 Linux 中的错误页面和“Server”HTTP 响应标头字段中隐藏 Nginx 服务器版本。如果您有任何疑问,请使用下面的评论表与我们联系。