47

那么有没有办法在 Nginx 上隐藏 X-Powered-By 呢?

4

7 回答 7

57
proxy_hide_header X-Powered-By;
于 2012-10-22T07:13:20.360 回答
56

x-powered-by 由模块给出,例如 php fastcgi 模块提供expose_php=Off 在 php.ini中设置

于 2011-10-02T16:42:38.110 回答
14

fastcgi_hide_header X-Powered-Byproxy_hide_header X-Powered-By在 http/server 上下文中

于 2016-08-04T07:55:46.510 回答
11

如果你将 NGINX 与 FastCGI 一起使用,你应该使用:

fastcgi_hide_header X-Powered-By;
于 2018-02-05T10:22:49.300 回答
4

尝试使用nginx 的 HttpHeadersMoreModule 中的 more_clear_headers 指令,它可以让您声明:

more_clear_headers 'X-Powered-By';

这应该做你想要的。

于 2012-10-10T07:38:22.257 回答
2

Nginx

  1. 打开这个文件

    $sudo vi /etc/nginx/nginx.conf

  2. 找到 HTTP 部分,这部分定义了 Nginx 的 HttpCoreModule 的配置。添加以下指令:

    $server_tokens off;

这将配置 Nginx 不在 HTTP 标头中发送任何版本号。

(删除服务器名称是可能的,但是,由于 Nginx 模块无法动态加载,您需要使用 HttpHeadersMoreModule Nginx 模块从源代码重新编译 Nginx。)

  1. 重新加载 Nginx 配置要应用更改,请重新加载 Nginx 服务:

    $sudo service nginx reload

PHP

出于服务器安全原因,建议您禁用或隐藏此信息,以免攻击者可能通过想知道您是否在运行 PHP 来瞄准您的服务器。

步骤1。

$ `sudo nano /etc/php.ini`
  1. 找到关键字expose_php并将其值设置为Off

    $expose_php = off

  2. 如果您将 PHP 作为 FPM 运行,那么您需要重新加载 PHP-FPM

    $sudo service php-fpm reload

重新加载后,响应头X-Powered-By: PHP/7.2应该会丢失。

于 2020-04-13T15:56:31.087 回答
1
#nano /etc/nginx/nginx.conf

评论这一行

more_clear_headers 'X-Powered-By';

并重启 Nginx

于 2017-12-23T17:17:38.797 回答